:root{
 --navy:#07182f;--navy2:#0c2b4d;--cyan:#20d6df;--blue:#2497ff;--purple:#7455ff;
 --yellow:#ffd43b;--green:#3bd278;--white:#fff;--light:#f3f8fc;--text:#19324b;--muted:#6b7f91;
 --shadow:0 26px 70px rgba(7,24,47,.16);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,sans-serif;background:#f6fbff;color:var(--text);overflow-x:hidden}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.page-stars{position:fixed;inset:0;pointer-events:none;opacity:.04;background-image:radial-gradient(circle,#234 1px,transparent 1px);background-size:24px 24px;z-index:999}.topbar{height:76px;padding:0 max(24px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;background:rgba(7,24,47,.96);color:white;position:sticky;top:0;z-index:50;backdrop-filter:blur(16px);box-shadow:0 10px 34px rgba(0,0,0,.16)}.brand{display:flex;align-items:center;gap:12px}.brand-cube{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--cyan),var(--blue));color:var(--navy);font-weight:900;box-shadow:0 8px 25px rgba(32,214,223,.35)}.brand strong,.brand small{display:block}.brand strong{font-family:"Baloo 2";font-size:20px}.brand small{font-size:10px;color:#9cb4c9}.topbar nav{display:flex;align-items:center;gap:22px;font-size:13px}.topbar nav>a{opacity:.86}.topbar nav>a:hover{opacity:1;color:var(--yellow)}.nav-button{padding:10px 15px;border-radius:12px;background:var(--yellow);color:var(--navy)!important;font-weight:800}.user-pill{padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.08);color:#c8f9ff;font-size:12px}.eyebrow{display:inline-flex;padding:8px 12px;border-radius:999px;background:#e7fbff;color:#087f9b;font-size:11px;text-transform:uppercase;letter-spacing:.8px;font-weight:800}.primary-btn,.secondary-btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 22px;border-radius:14px;border:0;font-weight:800;cursor:pointer;transition:.25s}.primary-btn{background:linear-gradient(135deg,var(--yellow),#ffb300);color:var(--navy);box-shadow:0 14px 32px rgba(255,190,0,.24)}.secondary-btn{background:white;color:var(--navy);border:1px solid #d8e5ef}.primary-btn:hover,.secondary-btn:hover{transform:translateY(-3px)}.full{width:100%}

.public-hero{min-height:720px;padding:90px max(24px,calc((100vw - 1240px)/2));display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;color:white;background:radial-gradient(circle at 15% 20%,rgba(116,85,255,.28),transparent 27%),radial-gradient(circle at 85% 15%,rgba(32,214,223,.25),transparent 27%),linear-gradient(135deg,#061428,#0b2948 60%,#0e3d5e);position:relative;overflow:hidden}.hero-copy{position:relative;z-index:3}.hero-copy h1{font-family:"Baloo 2";font-size:clamp(52px,6vw,78px);line-height:.98;margin:22px 0}.hero-copy h1 em{display:block;color:var(--yellow);font-style:normal}.hero-copy>p{font-size:17px;line-height:1.75;color:#c1d2e2;max-width:650px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin:30px 0}.hero-metrics{display:flex;gap:30px}.hero-metrics div{border-left:2px solid var(--cyan);padding-left:13px}.hero-metrics strong,.hero-metrics span{display:block}.hero-metrics strong{font-family:"Baloo 2";font-size:27px}.hero-metrics span{font-size:11px;color:#9fb5c8}.hero-game-world{height:520px;position:relative;perspective:1000px}.game-screen{position:absolute;inset:70px 40px 50px 25px;border-radius:30px;overflow:hidden;background:#122943;border:1px solid rgba(255,255,255,.18);box-shadow:0 40px 90px rgba(0,0,0,.35);transform:rotate(2deg);animation:screenFloat 5s ease-in-out infinite}.game-screen-top{height:50px;background:#0b1e34;display:flex;align-items:center;gap:7px;padding:0 17px}.game-screen-top i{width:10px;height:10px;border-radius:50%;background:#ff6259}.game-screen-top i:nth-child(2){background:#ffc53d}.game-screen-top i:nth-child(3){background:#35d05b}.game-screen-top span{font-size:10px;color:#7891aa;margin-left:8px}.game-screen-body{height:calc(100% - 50px);position:relative;background:linear-gradient(#42b9e8 0 60%,#92d46e 60%)}.pixel-cloud{position:absolute;width:100px;height:25px;border-radius:30px;background:white;opacity:.8}.pixel-cloud:before,.pixel-cloud:after{content:"";position:absolute;border-radius:50%;background:white}.pixel-cloud:before{width:40px;height:40px;left:15px;top:-17px}.pixel-cloud:after{width:52px;height:52px;right:12px;top:-28px}.cloud1{top:60px;left:45px}.cloud2{top:95px;right:50px;transform:scale(.75)}.screen-platform,.platform{position:absolute;height:20px;background:#6c4939;border-top:8px solid #49b45f;border-radius:8px}.sp1{width:170px;left:38px;bottom:55px}.sp2{width:155px;right:25px;bottom:130px}.screen-hero{position:absolute;left:90px;bottom:83px;font-size:42px;animation:heroJump 3.4s ease-in-out infinite}.screen-enemy{position:absolute;right:70px;bottom:158px;font-size:35px;animation:enemyMove 2.6s ease-in-out infinite}.floating-panel{position:absolute;z-index:5;width:130px;height:95px;border-radius:20px;background:rgba(255,255,255,.92);color:var(--navy);display:grid;place-items:center;box-shadow:0 18px 40px rgba(0,0,0,.2);backdrop-filter:blur(12px);animation:panelFloat 4s ease-in-out infinite}.floating-panel span{font-size:11px;font-weight:800;text-transform:uppercase}.floating-panel b{font-size:32px}.fp-one{left:-18px;top:38px;transform:rotate(-8deg)}.fp-two{right:-15px;top:160px;transform:rotate(8deg);animation-delay:.7s}.fp-three{left:22px;bottom:12px;transform:rotate(-4deg);animation-delay:1.4s}.jumping-robot{position:absolute;z-index:6;font-size:48px;left:40%;bottom:22px;animation:outerRobot 3s ease-in-out infinite}.racing-car{position:absolute;z-index:6;font-size:43px;left:-10px;bottom:95px;animation:carRace 5s linear infinite}.floating-coin{position:absolute;z-index:7;color:var(--yellow);font-size:30px;text-shadow:0 0 18px var(--yellow);animation:coinBob 1.8s ease-in-out infinite}.c1{left:42%;top:35px}.c2{right:15%;top:72px;animation-delay:.5s}.c3{right:2%;bottom:70px;animation-delay:1s}.holo-ring{position:absolute;border:2px solid rgba(32,214,223,.32);border-radius:50%;animation:ringSpin 12s linear infinite}.ring-one{width:360px;height:360px;left:75px;top:65px}.ring-two{width:460px;height:460px;left:25px;top:15px;border-style:dashed;animation-direction:reverse}.public-section{padding:95px max(24px,calc((100vw - 1240px)/2));background:white}.section-title{text-align:center;max-width:760px;margin:0 auto 50px}.section-title span{color:#0889a4;font-weight:800;text-transform:uppercase;font-size:11px;letter-spacing:1px}.section-title h2{font-family:"Baloo 2";font-size:48px;color:var(--navy);margin:10px 0}.section-title p{color:var(--muted);line-height:1.7}.roadmap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.roadmap-grid article{position:relative;padding:28px;border-radius:24px;background:#f5f9fd;border:1px solid #e1eaf2;box-shadow:0 12px 30px rgba(15,45,72,.06);transition:.25s}.roadmap-grid article:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.roadmap-grid b{position:absolute;top:18px;right:20px;color:#c8d7e4;font-family:"Baloo 2";font-size:28px}.roadmap-grid article>span{font-size:35px}.roadmap-grid h3{font-family:"Baloo 2";font-size:24px;color:var(--navy);margin:18px 0 7px}.roadmap-grid p{font-size:13px;color:var(--muted);line-height:1.6}.cta-zone{margin:0 max(24px,calc((100vw - 1240px)/2)) 90px;padding:45px;border-radius:30px;background:linear-gradient(135deg,var(--purple),#2ba8df);color:white;display:flex;align-items:center;justify-content:space-between;gap:25px;box-shadow:var(--shadow)}.cta-zone span{font-size:11px;text-transform:uppercase;font-weight:800;letter-spacing:1px;color:#c9f8ff}.cta-zone h2{font-family:"Baloo 2";font-size:38px;margin:7px 0}

.auth-page{min-height:calc(100vh - 76px);display:grid;grid-template-columns:1.1fr .9fr}.auth-visual{background:radial-gradient(circle at 30% 20%,rgba(32,214,223,.27),transparent 28%),linear-gradient(135deg,#07182f,#0c3555);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:70px;position:relative;overflow:hidden;text-align:center}.auth-visual h1{font-family:"Baloo 2";font-size:50px;line-height:1.05;max-width:600px;margin:20px 0}.auth-visual p{color:#b7cadd;line-height:1.7;max-width:580px}.auth-robot{font-size:110px;animation:outerRobot 3s ease-in-out infinite;z-index:2}.auth-orbit{position:absolute;width:460px;height:460px;border-radius:50%;border:2px dashed rgba(32,214,223,.3);animation:ringSpin 18s linear infinite}.auth-card{padding:70px max(32px,8vw);display:flex;flex-direction:column;justify-content:center;background:white}.auth-card h2{font-family:"Baloo 2";font-size:44px;color:var(--navy);margin:15px 0 24px}.auth-card form{display:grid;gap:17px}.auth-card label,.lesson-admin-card label{display:grid;gap:8px;font-size:12px;font-weight:800;color:#506477}.auth-card input,.lesson-admin-card input,.lesson-admin-card textarea,.inline-form select{width:100%;padding:14px 15px;border-radius:12px;border:1px solid #cedbe6;background:#f9fcff;outline:none}.auth-card input:focus,.lesson-admin-card input:focus,.lesson-admin-card textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(36,151,255,.09)}.auth-note{font-size:13px;color:var(--muted);text-align:center;margin-top:18px}.auth-note a{color:#087f9b;font-weight:800}.alert{padding:13px 15px;border-radius:12px;margin-bottom:16px;font-size:13px}.alert.error{background:#fff0f0;color:#a42a2a}.alert.success{background:#eafbf0;color:#17733b}

.classroom{background:#edf5fb;min-height:100vh}.welcome-stage{padding:65px max(24px,calc((100vw - 1240px)/2));display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;color:white;background:radial-gradient(circle at 14% 20%,rgba(116,85,255,.24),transparent 25%),radial-gradient(circle at 85% 20%,rgba(32,214,223,.18),transparent 25%),linear-gradient(135deg,#07182f,#0b2d4d)}.welcome-copy h1{font-family:"Baloo 2";font-size:55px;line-height:1;margin:20px 0}.welcome-copy h1 em{font-style:normal;color:var(--yellow)}.welcome-copy>p{color:#b9cada;line-height:1.7}.access-state{display:flex;gap:13px;align-items:center;margin:24px 0;padding:15px;border-radius:18px;max-width:470px;border:1px solid rgba(255,255,255,.1)}.access-state.paid{background:rgba(59,210,120,.12)}.access-state.pending{background:rgba(255,212,59,.08)}.access-state>span{font-size:28px}.access-state strong,.access-state small{display:block}.access-state small{color:#a8bacc;margin-top:3px}.welcome-universe{height:360px;position:relative;transition:transform .15s ease-out}.welcome-screen{position:absolute;inset:55px 85px 45px;border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(15px);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 30px 70px rgba(0,0,0,.25)}.screen-label{position:absolute;top:18px;left:20px;padding:7px 10px;border-radius:999px;background:rgba(32,214,223,.18);font-size:10px;text-transform:uppercase;letter-spacing:1px}.big-play{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:var(--navy);font-size:31px;box-shadow:0 0 0 15px rgba(255,212,59,.11);animation:playPulse 2s ease-in-out infinite}.welcome-screen p{font-family:"Baloo 2";font-size:22px}.video-orbit{position:absolute;width:70px;height:70px;border-radius:22px;background:rgba(255,255,255,.94);display:grid;place-items:center;color:var(--navy);font-size:28px;box-shadow:0 17px 35px rgba(0,0,0,.22);z-index:5;animation:panelFloat 4s ease-in-out infinite}.orbit-a{left:10px;top:30px}.orbit-b{right:15px;top:70px;animation-delay:.7s}.orbit-c{left:35px;bottom:15px;animation-delay:1.2s}.orbit-d{right:45px;bottom:10px;animation-delay:1.8s}.welcome-bot{position:absolute;right:4%;bottom:0;font-size:65px;animation:outerRobot 3s ease-in-out infinite}.classroom-shell{max-width:1380px;margin:0 auto;padding:35px 24px 80px;display:grid;grid-template-columns:350px 1fr;gap:25px}.lesson-sidebar{background:#081c34;color:white;border-radius:25px;overflow:hidden;box-shadow:var(--shadow);align-self:start;position:sticky;top:100px;max-height:calc(100vh - 125px);overflow-y:auto}.sidebar-head{padding:20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-head span{font-weight:800}.sidebar-head button{border:0;background:rgba(255,255,255,.08);color:#aeeffc;padding:8px 10px;border-radius:10px;cursor:pointer}.module-title{width:100%;border:0;background:#0b2744;color:white;padding:17px;display:grid;grid-template-columns:38px 1fr 20px;text-align:left;align-items:center;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.06)}.module-title>span{font-size:24px}.module-title strong,.module-title small{display:block}.module-title small{font-size:10px;color:#91a8bc;margin-top:3px}.lesson-list{display:none;padding:8px}.module-block.open .lesson-list{display:block}.module-block.open .module-title>b{transform:rotate(180deg)}.lesson-item{width:100%;display:grid;grid-template-columns:35px 1fr;gap:7px;align-items:center;border:0;border-radius:13px;background:transparent;color:white;text-align:left;padding:12px;cursor:pointer;margin-bottom:4px}.lesson-item:hover,.lesson-item.active{background:rgba(32,214,223,.12)}.lesson-item.locked{opacity:.58}.lesson-state{width:30px;height:30px;border-radius:10px;background:rgba(255,255,255,.08);display:grid;place-items:center;font-size:12px}.lesson-item strong,.lesson-item small{display:block}.lesson-item strong{font-size:12px}.lesson-item small{font-size:10px;color:#8fa6ba;margin-top:3px}.player-zone{min-width:0}.player-frame{border-radius:25px;overflow:hidden;background:#07182f;box-shadow:var(--shadow)}.player-frame.theater{position:fixed;inset:20px;z-index:1000}.player-toolbar{height:50px;padding:0 17px;display:flex;align-items:center;gap:10px;color:white;background:#0a213b}.player-toolbar p{margin:0;flex:1;font-size:12px}.player-toolbar button{border:0;background:rgba(255,255,255,.08);color:white;width:32px;height:32px;border-radius:9px;cursor:pointer}.live-dot{width:9px;height:9px;border-radius:50%;background:#ff5757;box-shadow:0 0 12px #ff5757}.player-content{height:520px;background:radial-gradient(circle at center,rgba(36,151,255,.13),transparent 35%),#061428;display:grid;place-items:center}.player-content iframe,.player-content video{width:100%;height:100%;border:0;object-fit:contain}.player-placeholder,.locked-player{text-align:center;color:white;padding:35px;max-width:550px}.player-placeholder h2,.locked-player h2{font-family:"Baloo 2";font-size:34px;margin:18px 0 7px}.player-placeholder p,.locked-player p{color:#a9bccd;line-height:1.6}.holo-play,.lock-orbit{width:110px;height:110px;border-radius:50%;display:grid;place-items:center;margin:auto;background:rgba(32,214,223,.08);border:1px solid rgba(32,214,223,.22);font-size:38px;box-shadow:0 0 0 18px rgba(32,214,223,.03);animation:playPulse 2s ease-in-out infinite}.locked-player .primary-btn{margin-top:12px}.lesson-details{margin-top:20px;padding:28px;border-radius:22px;background:white;box-shadow:0 12px 35px rgba(7,24,47,.07);display:flex;justify-content:space-between;gap:25px}.lesson-details h2{font-family:"Baloo 2";font-size:32px;color:var(--navy);margin:12px 0 5px}.lesson-details p{color:var(--muted);line-height:1.6;margin:0}.lesson-badges{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}.lesson-badges span{padding:8px 10px;border-radius:999px;background:#e9f9fb;color:#087f9b;font-size:10px;font-weight:800}.floating-video-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:18px}.floating-video-gallery article{padding:18px;border-radius:18px;background:linear-gradient(145deg,#fff,#edf6fb);border:1px solid #dfebf3;box-shadow:0 10px 27px rgba(7,24,47,.06);transition:.25s}.floating-video-gallery article:hover{transform:translateY(-6px) rotate(-1deg)}.floating-video-gallery span{font-size:26px}.floating-video-gallery strong,.floating-video-gallery small{display:block}.floating-video-gallery strong{margin-top:10px;font-size:12px}.floating-video-gallery small{font-size:10px;color:#8294a4;margin-top:3px}.tour-overlay{position:fixed;inset:0;display:none;place-items:center;background:rgba(5,16,31,.78);backdrop-filter:blur(12px);z-index:1500;padding:20px}.tour-overlay.active{display:grid}.tour-card{width:min(520px,100%);background:white;border-radius:30px;padding:36px;text-align:center;position:relative;box-shadow:0 30px 100px rgba(0,0,0,.35)}.tour-close{position:absolute;right:18px;top:16px;border:0;background:#edf4f8;width:34px;height:34px;border-radius:50%;font-size:23px;cursor:pointer}.tour-visual{font-size:90px;animation:outerRobot 3s ease-in-out infinite}.tour-card>span{display:block;color:#0a8ca5;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1px;margin-top:10px}.tour-card h2{font-family:"Baloo 2";font-size:35px;color:var(--navy);margin:10px 0}.tour-card p{color:var(--muted);line-height:1.7}.tour-dots{display:flex;justify-content:center;gap:7px;margin:18px}.tour-dots i{width:8px;height:8px;border-radius:50%;background:#d4e0e8}.tour-dots i.active{width:25px;border-radius:9px;background:var(--blue)}.tour-actions{display:flex;justify-content:center;gap:10px}

.admin-page{max-width:1280px;margin:auto;padding:45px 24px 80px}.admin-hero{padding:40px;border-radius:28px;background:linear-gradient(135deg,#07182f,#0b3c5b);color:white;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow)}.admin-hero h1,.admin-title-row h1{font-family:"Baloo 2";font-size:47px;margin:12px 0 4px}.admin-hero p,.admin-title-row p{color:#afc2d2}.admin-bot{font-size:90px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin:22px 0}.stats-grid article{padding:25px;border-radius:22px;background:white;box-shadow:0 10px 30px rgba(7,24,47,.06)}.stats-grid span{font-size:30px}.stats-grid strong,.stats-grid small{display:block}.stats-grid strong{font-family:"Baloo 2";font-size:36px;color:var(--navy);margin-top:10px}.stats-grid small{color:var(--muted)}.admin-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:20px}.admin-card{background:white;border-radius:24px;padding:25px;box-shadow:0 12px 35px rgba(7,24,47,.07)}.card-head{display:flex;justify-content:space-between;align-items:center}.card-head h2{font-family:"Baloo 2";font-size:27px;color:var(--navy);margin:0}.card-head a{font-size:12px;color:#07859e;font-weight:800}.admin-actions{display:grid;gap:10px;margin-top:18px}.admin-actions a{padding:15px;border-radius:15px;background:#f3f8fc;display:flex;gap:13px;align-items:center}.admin-actions a>span{font-size:27px}.admin-actions strong,.admin-actions small{display:block}.admin-actions small{font-size:10px;color:var(--muted);margin-top:3px}.mini-table{display:grid;margin-top:12px}.mini-table>div{display:grid;grid-template-columns:1fr 1.3fr auto;gap:12px;padding:12px 0;border-bottom:1px solid #e7eef4;align-items:center}.mini-table span,.mini-table small{font-size:11px}.mini-table small{color:var(--muted)}.mini-table b,.status{padding:6px 8px;border-radius:999px;font-size:9px;text-transform:uppercase}.paid{background:#e9fbef;color:#18713a}.pending{background:#fff7dd;color:#936d00}.suspended{background:#ffe9e9;color:#a02f2f}.admin-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.table-card{overflow:auto}.data-table{min-width:900px}.data-row{display:grid;grid-template-columns:1.1fr 1.4fr .7fr .7fr 1.4fr;gap:15px;align-items:center;padding:14px 0;border-bottom:1px solid #e5edf3;font-size:12px}.data-row span strong,.data-row span small{display:block}.data-row span small{color:var(--muted);margin-top:3px}.data-head{font-weight:800;color:#718495;text-transform:uppercase;font-size:10px}.inline-form{display:flex;gap:7px}.inline-form select{padding:8px}.inline-form button{border:0;border-radius:9px;background:var(--navy);color:white;padding:8px 10px;cursor:pointer}.lesson-admin-list{display:grid;gap:16px}.lesson-admin-card{padding:24px;border-radius:22px;background:white;box-shadow:0 10px 30px rgba(7,24,47,.06);display:grid;gap:14px}.lesson-admin-top{display:flex;justify-content:space-between;color:#087f9b;font-size:11px;font-weight:800}.lesson-admin-card textarea{min-height:80px;resize:vertical}.two-cols{display:grid;grid-template-columns:1.5fr .5fr;gap:14px}.check-label{display:flex!important;grid-template-columns:auto!important;align-items:center}.check-label input{width:auto}.lesson-admin-card .primary-btn{justify-self:start}

.footer{padding:30px max(24px,calc((100vw - 1240px)/2));background:#061428;color:white;display:flex;justify-content:space-between;align-items:center}.footer strong,.footer span{display:block}.footer span{font-size:11px;color:#8399ad;margin-top:3px}.footer>a{color:var(--yellow);font-weight:800;font-size:13px}

@keyframes screenFloat{50%{transform:rotate(-1deg) translateY(-10px)}}@keyframes heroJump{0%,100%{transform:translate(0,0)}45%{transform:translate(160px,-80px) rotate(8deg)}70%{transform:translate(240px,-10px)}}@keyframes enemyMove{50%{transform:translateX(-75px) scaleX(-1)}}@keyframes panelFloat{50%{translate:0 -12px}}@keyframes outerRobot{50%{transform:translateY(-18px) rotate(5deg)}}@keyframes carRace{0%{left:-10%;transform:rotate(-4deg)}50%{left:55%;transform:rotate(3deg)}100%{left:100%;transform:rotate(-2deg)}}@keyframes coinBob{50%{transform:translateY(-12px) rotate(15deg) scale(1.15)}}@keyframes ringSpin{to{transform:rotate(360deg)}}@keyframes playPulse{50%{transform:scale(1.08);box-shadow:0 0 0 24px rgba(255,212,59,.05)}}

@media(max-width:1050px){.public-hero,.welcome-stage{grid-template-columns:1fr}.hero-game-world{max-width:650px;width:100%;margin:auto}.roadmap-grid{grid-template-columns:repeat(2,1fr)}.classroom-shell{grid-template-columns:290px 1fr}.player-content{height:440px}.floating-video-gallery{grid-template-columns:repeat(2,1fr)}.auth-page{grid-template-columns:1fr}.auth-visual{min-height:440px}.admin-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.topbar nav>a:not(.nav-button),.user-pill{display:none}.topbar{padding:0 15px}.brand strong{font-size:16px}.public-hero{padding:65px 20px}.hero-copy h1{font-size:50px}.hero-game-world{height:430px}.game-screen{inset:70px 15px 50px}.fp-one{left:0}.fp-two{right:0}.roadmap-grid{grid-template-columns:1fr}.cta-zone{flex-direction:column;align-items:flex-start;padding:30px}.classroom-shell{grid-template-columns:1fr}.lesson-sidebar{position:static;max-height:none}.welcome-stage{padding:45px 20px}.welcome-copy h1{font-size:43px}.welcome-universe{height:300px}.welcome-screen{inset:45px 40px}.player-content{height:300px}.lesson-details{flex-direction:column}.floating-video-gallery{grid-template-columns:1fr 1fr}.footer{flex-direction:column;gap:15px;text-align:center}.stats-grid{grid-template-columns:1fr}.admin-hero{align-items:flex-start}.admin-bot{font-size:55px}.admin-title-row{align-items:flex-start;gap:15px}.admin-title-row h1{font-size:38px}.two-cols{grid-template-columns:1fr}.auth-card{padding:50px 24px}.auth-visual{padding:45px 24px}.auth-visual h1{font-size:42px}}

/* Instalador */
.installer{min-height:100vh;display:grid;grid-template-columns:1fr .8fr;background:#f6fbff}.installer>section{padding:70px max(30px,10vw);display:flex;flex-direction:column;justify-content:center}.installer h1{font-family:"Baloo 2";font-size:48px;line-height:1;color:var(--navy);margin:18px 0}.installer form{display:grid;gap:14px;margin-top:20px}.installer label{display:grid;gap:7px;font-size:12px;font-weight:800;color:#51677b}.installer input{padding:14px;border-radius:12px;border:1px solid #cddce7}.installer aside{background:radial-gradient(circle,rgba(32,214,223,.22),transparent 35%),linear-gradient(135deg,#07182f,#0b3e5f);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:45px}.installer aside h2{font-family:"Baloo 2";font-size:34px}.installer aside p{color:#b8cada}.installer-robot{font-size:120px;animation:outerRobot 3s ease-in-out infinite}

/* Formas flotantes tipo realidad aumentada */
.ar-cube{position:absolute;z-index:8;width:72px;height:72px;transform-style:preserve-3d;animation:arCube 6s ease-in-out infinite;filter:drop-shadow(0 18px 20px rgba(0,0,0,.22))}.ar-cube:before,.ar-cube:after,.ar-cube i{content:"";position:absolute;inset:0;border:2px solid rgba(117,238,255,.7);background:linear-gradient(135deg,rgba(32,214,223,.18),rgba(116,85,255,.12));backdrop-filter:blur(5px)}.ar-cube:before{transform:translate(10px,-10px)}.ar-cube:after{clip-path:polygon(0 0,100% 0,82% 18%,18% 18%,18% 82%,0 100%)}.ar-cube b{position:absolute;inset:0;display:grid;place-items:center;color:#d8fbff;font-size:20px}.cube-a{right:8px;top:18px;transform:rotate(12deg)}.cube-b{left:4px;bottom:72px;transform:rotate(-10deg);animation-delay:1.3s}.ar-code-chip{position:absolute;z-index:9;padding:9px 13px;border-radius:12px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:#cffaff;font:800 10px Inter;letter-spacing:.8px;backdrop-filter:blur(10px);animation:chipFloat 4s ease-in-out infinite}.chip-a{right:40px;bottom:22px}.chip-b{left:80px;top:16px;animation-delay:.8s}.ar-cross{position:absolute;z-index:7;color:rgba(255,212,59,.8);font-size:44px;font-weight:300;text-shadow:0 0 20px rgba(255,212,59,.4);animation:crossSpin 7s linear infinite}.cross-a{left:8%;top:43%}.cross-b{right:4%;top:45%;animation-direction:reverse}.game-screen{overflow:visible}.game-screen-body{overflow:hidden;border-radius:0 0 30px 30px}@keyframes arCube{50%{transform:translateY(-18px) rotate(24deg) scale(1.08)}}@keyframes chipFloat{50%{transform:translateY(-12px) rotate(3deg)}}@keyframes crossSpin{to{transform:rotate(360deg)}}

/* Cards animados recuperados */
.game-showcase{padding:95px max(24px,calc((100vw - 1240px)/2));background:linear-gradient(180deg,#f3f9fd,#fff)}.animated-game-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.animated-game-card{background:white;border-radius:28px;overflow:hidden;box-shadow:0 18px 50px rgba(7,24,47,.09);border:1px solid #dfebf3;transition:.3s}.animated-game-card:hover{transform:translateY(-10px) scale(1.01);box-shadow:0 30px 75px rgba(7,24,47,.16)}.animated-game-card>div:last-child{padding:24px}.animated-game-card span{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#0787a0;font-weight:800}.animated-game-card h3{font-family:"Baloo 2";font-size:28px;color:var(--navy);margin:7px 0}.animated-game-card p{color:var(--muted);font-size:13px;line-height:1.6;margin:0}.game-art{height:240px;position:relative;overflow:hidden}.maze-art{background:linear-gradient(135deg,#6b4df6,#aa80ff)}.maze-w{position:absolute;background:rgba(255,255,255,.94);border-radius:9px;box-shadow:0 7px 0 rgba(63,35,160,.25)}.mw1{left:12%;top:20%;width:72%;height:18px}.mw2{left:22%;top:20%;width:18px;height:55%}.mw3{left:22%;bottom:18%;width:62%;height:18px}.maze-runner{position:absolute;font-size:38px;left:8%;bottom:10%;animation:mazeRun 6s linear infinite}.maze-star{position:absolute;right:10%;bottom:11%;font-size:34px;animation:coinBob 1.5s ease-in-out infinite}.race-art{background:linear-gradient(135deg,#ff974d,#ffd25c)}.race-road{position:absolute;left:25%;right:25%;inset-block:0;background:#424b56}.road-mark{position:absolute;left:50%;width:9px;height:58px;background:white;transform:translateX(-50%);animation:roadDash 1s linear infinite}.rm1{top:-30px}.rm2{top:120px;animation-delay:.5s}.race-player,.race-rival{position:absolute;font-size:43px}.race-player{left:33%;bottom:18px;animation:raceSwerve 2s ease-in-out infinite}.race-rival{right:31%;top:-60px;animation:rivalFall 3s linear infinite}.platform-art{background:linear-gradient(135deg,#39bb70,#a9e570)}.gplat{position:absolute;height:18px;background:#6b4938;border-top:8px solid #2e8248;border-radius:7px}.gp1{width:160px;left:15px;bottom:28px}.gp2{width:135px;left:39%;bottom:90px}.gp3{width:135px;right:18px;bottom:155px}.platform-kid{position:absolute;font-size:38px;left:8%;bottom:53px;animation:platformLeap 4.6s ease-in-out infinite}.platform-prize{position:absolute;right:12%;bottom:190px;font-size:30px;animation:coinBob 1.4s ease-in-out infinite}.platform-bad{position:absolute;right:20%;bottom:177px;font-size:28px;animation:enemyMove 2.5s ease-in-out infinite}.catch-art{background:linear-gradient(135deg,#1db7e6,#78e2eb)}.fall-item{position:absolute;font-size:36px;top:-45px;animation:itemFall 3s linear infinite}.fi1{left:20%}.fi2{left:48%;animation-delay:1s}.fi3{right:20%;animation-delay:2s}.catch-basket{position:absolute;width:125px;height:50px;border-radius:0 0 30px 30px;background:#8b572a;border-top:8px solid #e0a55d;left:50%;bottom:18px;transform:translateX(-50%);animation:basketMove 2.5s ease-in-out infinite}@keyframes mazeRun{0%{left:8%;bottom:10%}30%{left:36%;bottom:10%}50%{left:36%;bottom:50%}72%{left:70%;bottom:50%}100%{left:80%;bottom:10%}}@keyframes roadDash{from{transform:translate(-50%,-80px)}to{transform:translate(-50%,180px)}}@keyframes raceSwerve{50%{transform:translateX(55px) rotate(4deg)}}@keyframes rivalFall{from{transform:translateY(-120px)}to{transform:translateY(360px)}}@keyframes platformLeap{0%,12%{left:8%;bottom:53px}30%{left:43%;bottom:122px;transform:rotate(-8deg)}55%{left:65%;bottom:190px;transform:rotate(8deg)}75%{left:78%;bottom:181px}100%{left:8%;bottom:53px}}@keyframes itemFall{to{transform:translateY(320px) rotate(180deg)}}@keyframes basketMove{50%{transform:translateX(25px)}}
@media(max-width:800px){.animated-game-grid{grid-template-columns:1fr}.installer{grid-template-columns:1fr}.installer aside{min-height:320px}.ar-cube{display:none}}


/* =========================================================
   CAPA FLOTANTE DEL HERO
   Figuras dispersas detrás del texto, sin formar una fila.
   ========================================================= */
.public-hero{
  isolation:isolate;
}

.hero-copy,
.hero-game-world{
  position:relative;
  z-index:3;
}

.hero-floating-layer{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  overflow:hidden;
}

.hero-float{
  position:absolute;
  display:block;
  pointer-events:none;
  user-select:none;
  will-change:transform;
}

.hf-star{
  left:39%;
  top:13%;
  font-size:58px;
  color:rgba(255,212,59,.17);
  text-shadow:0 0 28px rgba(255,212,59,.16);
  animation:hfDriftA 6.2s ease-in-out infinite;
}

.hf-code{
  left:3%;
  top:29%;
  font:800 36px "Baloo 2",sans-serif;
  color:rgba(32,214,223,.16);
  transform:rotate(-13deg);
  animation:hfDriftB 7.4s ease-in-out infinite;
}

.hf-game{
  left:5%;
  bottom:17%;
  font-size:52px;
  opacity:.14;
  transform:rotate(-15deg);
  filter:drop-shadow(0 12px 22px rgba(0,0,0,.18));
  animation:hfDriftA 6.8s ease-in-out infinite 1s;
}

.hf-robot{
  left:43%;
  bottom:9%;
  font-size:50px;
  opacity:.12;
  transform:rotate(8deg);
  animation:hfDriftB 7s ease-in-out infinite .7s;
}

.hf-braces{
  left:46%;
  top:41%;
  font:800 46px "Baloo 2",sans-serif;
  color:rgba(116,85,255,.17);
  animation:hfSpin 14s linear infinite;
}

.hf-chip{
  padding:9px 14px;
  border-radius:13px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.055);
  color:rgba(206,250,255,.30);
  font:800 10px Inter,sans-serif;
  letter-spacing:.8px;
  backdrop-filter:blur(5px);
  box-shadow:0 14px 30px rgba(0,0,0,.09);
}

.hf-chip-a{
  left:2%;
  top:48%;
  transform:rotate(-7deg);
  animation:hfChip 5s ease-in-out infinite;
}

.hf-chip-b{
  left:39%;
  top:24%;
  transform:rotate(7deg);
  animation:hfChip 5.7s ease-in-out infinite 1s;
}

.hf-dot{
  width:34px;
  height:34px;
  border-radius:50%;
  background:rgba(255,212,59,.11);
  border:2px solid rgba(255,212,59,.16);
  box-shadow:
    0 0 0 10px rgba(255,212,59,.025),
    0 0 28px rgba(255,212,59,.10);
}

.hf-dot:before{
  content:"★";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:rgba(255,212,59,.28);
  font-size:15px;
}

.hf-dot-a{
  left:25%;
  bottom:6%;
  animation:hfCoin 3.8s ease-in-out infinite;
}

.hf-dot-b{
  left:49%;
  top:9%;
  transform:scale(.72);
  animation:hfCoin 4.2s ease-in-out infinite 1.1s;
}

.hf-ring{
  border-radius:50%;
  border:1px dashed rgba(32,214,223,.09);
}

.hf-ring-a{
  width:220px;
  height:220px;
  left:11%;
  top:11%;
  animation:hfSpin 20s linear infinite;
}

.hf-ring-b{
  width:150px;
  height:150px;
  left:38%;
  bottom:4%;
  border-color:rgba(116,85,255,.10);
  animation:hfSpin 17s linear infinite reverse;
}

@keyframes hfDriftA{
  0%,100%{transform:translate3d(0,0,0) rotate(-7deg)}
  50%{transform:translate3d(14px,-18px,0) rotate(7deg)}
}

@keyframes hfDriftB{
  0%,100%{transform:translate3d(0,0,0) rotate(8deg)}
  50%{transform:translate3d(-16px,15px,0) rotate(-8deg)}
}

@keyframes hfChip{
  0%,100%{translate:0 0}
  50%{translate:0 -14px}
}

@keyframes hfSpin{
  to{transform:rotate(360deg)}
}

@keyframes hfCoin{
  0%,100%{transform:translateY(0) rotate(0) scale(1)}
  50%{transform:translateY(-14px) rotate(18deg) scale(1.12)}
}

@media(max-width:1050px){
  .hf-star{left:78%;top:9%}
  .hf-code{left:2%;top:24%}
  .hf-game{left:4%;bottom:47%}
  .hf-robot{left:80%;bottom:45%}
  .hf-braces{left:83%;top:34%}
  .hf-chip-a{left:3%;top:43%}
  .hf-chip-b{left:72%;top:19%}
  .hf-dot-a{left:27%;bottom:45%}
  .hf-dot-b{left:64%;top:7%}
  .hf-ring-a{left:9%;top:7%}
  .hf-ring-b{left:70%;bottom:38%}
}

@media(max-width:760px){
  .hero-floating-layer{
    opacity:.78;
  }
  .hf-star{left:74%;top:6%;font-size:44px}
  .hf-code{left:0;top:22%;font-size:30px}
  .hf-game{left:2%;bottom:49%;font-size:38px}
  .hf-robot{left:77%;bottom:48%;font-size:38px}
  .hf-braces{left:82%;top:42%;font-size:34px}
  .hf-chip{font-size:8px;padding:7px 10px}
  .hf-chip-a{left:1%;top:48%}
  .hf-chip-b{left:70%;top:23%}
  .hf-ring-a{width:145px;height:145px}
  .hf-ring-b{width:100px;height:100px}
}

@media(prefers-reduced-motion:reduce){
  .hero-float{
    animation:none!important;
  }
}
