/* RV3 FINAL — lobby de videojuego con núcleo geográfico y alas de misión */
#hub-menu.rv3-home{--cyan:#67f4ff;--violet:#a98aff;--lime:#baff73;position:fixed;inset:0;min-height:100svh;overflow:hidden;color:#f5fbff;background:radial-gradient(ellipse at 50% 48%,#13295b 0,transparent 36%),radial-gradient(ellipse at 12% 55%,#15275c 0,transparent 36%),radial-gradient(ellipse at 90% 30%,#291b62 0,transparent 33%),linear-gradient(115deg,#040916,#080d20 52%,#070a18);isolation:isolate}
#hub-menu.rv3-home:before{content:"";position:absolute;inset:-20%;z-index:-2;pointer-events:none;opacity:.55;background:repeating-linear-gradient(117deg,transparent 0 73px,#77e8ff0a 74px,transparent 76px 154px),radial-gradient(ellipse at 50% 48%,#44dbff13,transparent 55%);transform:translate3d(var(--rv3-parallax-x,0),var(--rv3-parallax-y,0),0)}#hub-menu.rv3-home:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#03071550,transparent 28% 72%,#03071550),radial-gradient(ellipse at 50% 110%,#49dfff18,transparent 50%)}
#hub-menu .rv3-stage{position:relative;width:min(1680px,100%);height:100%;min-height:0;margin:auto;padding:clamp(9px,1.8vh,20px) clamp(15px,3.2vw,54px) clamp(7px,1.4vh,16px);display:grid;grid-template-rows:42px minmax(0,1fr) 24px;gap:clamp(5px,1vh,11px)}
#hub-menu .rv3-ambient{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}#hub-menu .rv3-ambient i{position:absolute;left:var(--px);top:var(--py);width:var(--sz);height:var(--sz);border-radius:50%;background:radial-gradient(circle,#f6ffff 0,#74f7ff 45%,#71eaff00 72%);box-shadow:0 0 15px 4px #62ecff66;opacity:.8}#hub-menu .rv3-ambient i:nth-child(1){--px:7%;--py:20%;--sz:5px}#hub-menu .rv3-ambient i:nth-child(2){--px:18%;--py:78%;--sz:3px}#hub-menu .rv3-ambient i:nth-child(3){--px:27%;--py:34%;--sz:4px}#hub-menu .rv3-ambient i:nth-child(4){--px:36%;--py:12%;--sz:3px}#hub-menu .rv3-ambient i:nth-child(5){--px:43%;--py:86%;--sz:5px}#hub-menu .rv3-ambient i:nth-child(6){--px:54%;--py:18%;--sz:4px}#hub-menu .rv3-ambient i:nth-child(7){--px:61%;--py:72%;--sz:3px}#hub-menu .rv3-ambient i:nth-child(8){--px:71%;--py:11%;--sz:5px}#hub-menu .rv3-ambient i:nth-child(9){--px:83%;--py:63%;--sz:4px}#hub-menu .rv3-ambient i:nth-child(10){--px:93%;--py:22%;--sz:3px}#hub-menu .rv3-ambient i:nth-child(11){--px:11%;--py:49%;--sz:3px}#hub-menu .rv3-ambient i:nth-child(12){--px:30%;--py:91%;--sz:4px}#hub-menu .rv3-ambient i:nth-child(13){--px:49%;--py:39%;--sz:3px}#hub-menu .rv3-ambient i:nth-child(14){--px:67%;--py:90%;--sz:5px}#hub-menu .rv3-ambient i:nth-child(15){--px:78%;--py:37%;--sz:3px}#hub-menu .rv3-ambient i:nth-child(16){--px:89%;--py:83%;--sz:4px}#hub-menu .rv3-ambient i:nth-child(17){--px:4%;--py:88%;--sz:5px}#hub-menu .rv3-ambient i:nth-child(18){--px:23%;--py:8%;--sz:3px}#hub-menu .rv3-ambient i:nth-child(19){--px:58%;--py:51%;--sz:4px}#hub-menu .rv3-ambient i:nth-child(20){--px:74%;--py:75%;--sz:3px}#hub-menu .rv3-ambient i:nth-child(21){--px:96%;--py:48%;--sz:5px}#hub-menu .rv3-ambient i:nth-child(22){--px:39%;--py:59%;--sz:3px}
#hub-menu .rv3-topbar,#hub-menu .rv3-main-stage,#hub-menu .rv3-footer{position:relative;z-index:2}#hub-menu .rv3-topbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #93eaff26;padding-bottom:7px;min-width:0}.rv3-mark{display:flex;align-items:center;gap:8px;color:#e8f7ff;font-size:11px;font-weight:900;letter-spacing:.18em;white-space:nowrap}.rv3-mark b{color:var(--cyan)}.rv3-mark-glyph{width:29px;height:29px;display:grid;place-items:center;color:#051321;font-size:18px;font-style:italic;background:linear-gradient(140deg,#e2ffff,#69f6ff 45%,#8775ff);border:1px solid #c5ffff;border-radius:9px 3px 9px 3px;box-shadow:0 0 24px #58eaff77,inset 0 2px 4px #fff}.rv3-live-dot,.rv3-kicker i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px var(--lime)}.rv3-topline{display:flex;align-items:center;gap:12px;color:#96a9c9;font-size:9px;letter-spacing:.18em;white-space:nowrap}.rv3-topline b{color:#d4eaff}.rv3-topline-rule{width:clamp(25px,5vw,80px);height:1px;background:linear-gradient(90deg,var(--cyan),transparent)}.rv3-audio-panel{display:flex;align-items:center;gap:9px}.rv3-audio-toggle,#hub-menu .rv3-footer button{border:1px solid #95eaff44;color:#e2faff;background:#09152bc9;border-radius:999px;padding:6px 10px;font-size:9px;font-weight:900;letter-spacing:.08em;cursor:pointer}.rv3-audio-toggle[aria-pressed=true]{border-color:var(--lime);box-shadow:0 0 17px #baff7355}.rv3-audio-icon{margin-right:4px;color:var(--cyan);font-size:15px}.rv3-volume{display:flex;align-items:center;gap:5px;color:#95a9c9;font-size:8px}.rv3-volume input{width:58px;height:4px;accent-color:var(--cyan);cursor:pointer}
#hub-menu .rv3-main-stage{display:grid;grid-template-columns:minmax(140px,.78fr) minmax(300px,2.3fr) minmax(140px,.78fr);align-items:stretch;gap:clamp(6px,1.8vw,28px);min-height:0}
#hub-menu .rv3-mode-rail{position:relative;z-index:4;display:flex;flex-direction:column;justify-content:center;gap:clamp(4px,1.25vh,15px);min-width:0}.rv3-mode{--tone:#75efff;position:relative;display:grid;grid-template-columns:clamp(49px,5.5vw,76px) minmax(0,1fr);grid-template-rows:1fr 1fr;align-items:center;column-gap:12px;min-height:clamp(62px,13.5vh,108px);padding:5px 8px;border:0;border-radius:15px;color:#fff;text-align:left;background:linear-gradient(90deg,#0a163aab,transparent);cursor:pointer;transition:transform .25s ease,filter .25s ease,background .25s ease;isolation:isolate}.rail-right .rv3-mode{background:linear-gradient(270deg,#0a163aab,transparent)}.rv3-mode:before{content:"";position:absolute;z-index:-1;inset:3px 0;border-left:1px solid color-mix(in srgb,var(--tone) 58%,transparent);background:linear-gradient(90deg,color-mix(in srgb,var(--tone) 14%,transparent),transparent 80%);clip-path:polygon(0 10%,92% 10%,100% 50%,92% 90%,0 90%);opacity:.48;transition:opacity .25s,filter .25s}.rail-right .rv3-mode:before{border-left:0;border-right:1px solid color-mix(in srgb,var(--tone) 58%,transparent);background:linear-gradient(270deg,color-mix(in srgb,var(--tone) 14%,transparent),transparent 80%);clip-path:polygon(8% 10%,100% 10%,100% 90%,8% 90%,0 50%)}.rv3-mode:hover,.rv3-mode:focus-visible{transform:translateX(6px) scale(1.045);filter:drop-shadow(0 0 15px color-mix(in srgb,var(--tone) 45%,transparent));outline:none}.rail-right .rv3-mode:hover,.rail-right .rv3-mode:focus-visible{transform:translateX(-6px) scale(1.045)}.rv3-mode:hover:before,.rv3-mode:focus-visible:before{opacity:1;filter:brightness(1.5)}.rv3-medal{position:relative;grid-column:1;grid-row:1/3;width:clamp(46px,5.2vw,72px);aspect-ratio:1;display:grid;place-items:center;filter:drop-shadow(0 0 9px color-mix(in srgb,var(--tone) 55%,transparent));transition:transform .3s}.rv3-medal:before,.rv3-medal:after{content:"";position:absolute;inset:5%;border:1px solid color-mix(in srgb,var(--tone) 48%,transparent);transform:rotate(45deg);border-radius:13px;box-shadow:inset 0 0 10px color-mix(in srgb,var(--tone) 22%,transparent),0 0 10px color-mix(in srgb,var(--tone) 20%,transparent)}.rv3-medal:after{inset:13%;transform:rotate(0);border-style:dashed;opacity:.65}.rv3-medal svg{position:relative;z-index:2;width:88%;height:88%;overflow:visible;filter:drop-shadow(0 2px 2px #0009)}.rv3-mode:hover .rv3-medal{transform:rotate(-7deg) scale(1.12)}.medal-shell{fill:#101b39;stroke:var(--tone);stroke-width:2.5;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--tone) 75%,transparent))}.medal-ribbon{fill:color-mix(in srgb,var(--tone) 55%,#16213d);stroke:#e6ffff;stroke-width:1.5}.medal-core{fill:color-mix(in srgb,var(--tone) 43%,#182349);stroke:#f4ffff;stroke-opacity:.8;stroke-width:1.5}.medal-mark{fill:none;stroke:#f7ffff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.medal-pin{fill:#ffe990;stroke:#fff;stroke-width:1.5}.pin-core{fill:#fff}.rv3-mode-name{grid-column:2;grid-row:1;align-self:end;font-size:clamp(10px,.95vw,14px);font-weight:950;letter-spacing:.1em;text-shadow:0 0 14px color-mix(in srgb,var(--tone) 55%,transparent)}.rv3-mode small{grid-column:2;grid-row:2;align-self:start;margin-top:3px;color:#92a9cb;font-size:8px;font-weight:800;letter-spacing:.12em}.rv3-mode-index{position:absolute;right:6px;top:5px;color:color-mix(in srgb,var(--tone) 72%,transparent);font-size:8px;font-style:normal;letter-spacing:.12em}.mode-trivia{--tone:#6af4ff}.mode-map{--tone:#a7ff93}.mode-paint{--tone:#ffc66e}.mode-create{--tone:#ff83dc}.mode-search{--tone:#75baff}.mode-album{--tone:#b99aff}.mode-ranking{--tone:#ffe17e}.mode-settings{--tone:#7cffd4}
#hub-menu .rv3-core{position:relative;min-width:0;display:flex;align-items:center;justify-content:center;isolation:isolate}.rv3-core:before{content:"";position:absolute;inset:8% 5%;z-index:-1;border-radius:50%;background:radial-gradient(ellipse,#43caff1d,transparent 67%);filter:blur(10px)}.rv3-core-title{position:absolute;top:3%;left:50%;z-index:4;transform:translateX(-50%);width:100%;text-align:center;pointer-events:none}.rv3-kicker{display:flex;justify-content:center;align-items:center;gap:9px;color:#b2d9eb;font-size:9px;font-weight:900;letter-spacing:.22em}.rv3-core-title h1{margin:7px 0 2px;font-size:clamp(21px,3.4vw,47px);line-height:.9;letter-spacing:-.04em;font-weight:1000;text-shadow:0 4px 24px #51eaff42}.rv3-core-title h1 em{font-style:normal;color:#b9caff;font-size:.62em;letter-spacing:.13em}.rv3-core-title h1 strong{color:transparent;background:linear-gradient(95deg,#fff,#82efff 48%,#c6a4ff);background-clip:text;-webkit-background-clip:text;filter:drop-shadow(0 0 13px #70eaff55)}.rv3-core-title p{margin:5px 0;color:#bed0e6;font-size:clamp(9px,.95vw,13px);letter-spacing:.09em}
#hub-menu .rv3-globe-wrap{position:relative;width:min(52vh,42vw,520px);max-width:92%;aspect-ratio:1;margin-top:clamp(25px,6vh,70px);display:grid;place-items:center;filter:drop-shadow(0 25px 55px #168fdb5c)}.rv3-globe-halo{position:absolute;inset:-9%;border-radius:50%;background:radial-gradient(circle,#51eaff29,transparent 65%);box-shadow:0 0 90px #20c9ff22}.rv3-globe{position:relative;z-index:3;width:73%;filter:drop-shadow(0 0 30px #39ecff88)}.rv3-globe svg{width:100%;display:block;overflow:visible}.rv3-globe-orbit{position:absolute;width:111%;height:37%;border:2px solid #92f7ff91;border-radius:50%;transform:rotate(-23deg);box-shadow:0 0 10px #56eaff7c,inset 0 0 14px #56eaff31;z-index:2}.rv3-globe-orbit.orbit-two{width:123%;height:57%;transform:rotate(58deg);border-color:#c2a4ff75}.rv3-globe-orbit.orbit-three{width:138%;height:81%;transform:rotate(-11deg);border:1px dashed #8eeeff63}.rv3-flag-float{position:absolute;z-index:6;width:clamp(66px,8vw,118px);aspect-ratio:3/2;padding:4px;border:1px solid #dcffffc9;border-radius:7px;background:linear-gradient(145deg,#ffffff65,#20375dd9);box-shadow:0 14px 26px #020612bd,0 0 24px #63eaff7a;backdrop-filter:blur(4px);transform-style:preserve-3d}.rv3-flag-float img{width:100%;height:100%;display:block;object-fit:cover;border-radius:3px;transform:perspective(300px) rotateY(-9deg) skewY(-2deg);filter:drop-shadow(0 3px 3px #0009)}.flag-uy{left:-3%;top:29%;transform:rotate(-12deg)}.flag-jp{right:-5%;top:20%;transform:rotate(10deg)}.flag-br{right:0;bottom:18%;transform:rotate(-7deg)}.flag-fr{left:2%;bottom:12%;transform:rotate(8deg) scale(.86)}.rv3-orbit-node{position:absolute;z-index:5;width:11px;height:11px;border-radius:50%;background:#caff7c;box-shadow:0 0 20px 7px #adff7077}.node-a{left:9%;top:18%}.node-b{right:8%;bottom:24%;background:#bb91ff;box-shadow:0 0 20px 7px #a886ff88}.rv3-core-meta{position:absolute;bottom:2%;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;white-space:nowrap;color:#94aac9;font-size:8px;font-weight:900;letter-spacing:.15em}.rv3-core-meta b{margin-left:5px;color:#72f2ff}.rv3-core-line{width:clamp(18px,4vw,58px);height:1px;background:linear-gradient(90deg,transparent,#6ff1ff,transparent)}
#hub-menu .rv3-footer{display:flex;align-items:center;justify-content:space-between;color:#8194b4;font-size:8px;font-weight:800;letter-spacing:.17em}.rv3-footer-actions{display:flex;gap:8px;align-items:center}.rv3-footer button{padding:5px 9px!important;font-size:8px!important}.hub-footer-button{color:#bcd4ed!important}
#hub-menu[data-rv3-motion="normal"] .rv3-ambient i{animation:rv3-particle-drift 4.6s ease-in-out infinite alternate}#hub-menu[data-rv3-motion="normal"] .rv3-ambient i:nth-child(3n){animation-delay:-2.1s}#hub-menu[data-rv3-motion="normal"] .rv3-ambient i:nth-child(2n){animation-delay:-1.2s}#hub-menu[data-rv3-motion="normal"] .rv3-globe-wrap{animation:rv3-core-float 5s ease-in-out infinite}#hub-menu[data-rv3-motion="normal"] .orbit-one{animation:rv3-rotate 13s linear infinite}#hub-menu[data-rv3-motion="normal"] .orbit-two{animation:rv3-rotate-back 18s linear infinite}#hub-menu[data-rv3-motion="normal"] .orbit-three{animation:rv3-rotate 32s linear infinite}#hub-menu[data-rv3-motion="normal"] .rv3-flag-float{animation:rv3-banner-wave 2.35s ease-in-out infinite}#hub-menu[data-rv3-motion="normal"] .flag-jp{animation-delay:-.8s}#hub-menu[data-rv3-motion="normal"] .flag-br{animation-delay:-1.5s}#hub-menu[data-rv3-motion="normal"] .flag-fr{animation-delay:-1.9s}#hub-menu[data-rv3-motion="normal"] .rv3-mode-rail{animation:rv3-rail-enter .8s cubic-bezier(.17,.78,.22,1) both}#hub-menu[data-rv3-motion="normal"] .rail-right{animation-delay:.12s}#hub-menu[data-rv3-motion="normal"] .rv3-core-title{animation:rv3-title-enter .95s cubic-bezier(.16,.8,.23,1) both}#hub-menu[data-rv3-motion="normal"] .rv3-mode:nth-child(odd) .rv3-medal{animation:rv3-medal-glow 3s ease-in-out infinite alternate}#hub-menu[data-rv3-motion="normal"] .rv3-mode:nth-child(even) .rv3-medal{animation:rv3-medal-glow 3.5s ease-in-out -1.7s infinite alternate}
@keyframes rv3-particle-drift{from{translate:-5px 9px;opacity:.2}to{translate:9px -14px;opacity:.96;scale:1.6}}@keyframes rv3-core-float{0%,100%{translate:0 1px}50%{translate:0 -10px}}@keyframes rv3-rotate{to{rotate:360deg}}@keyframes rv3-rotate-back{to{rotate:-360deg}}@keyframes rv3-banner-wave{0%,100%{translate:0 0;rotate:-3deg;scale:1}25%{translate:3px -5px;rotate:2deg;scale:1.02}50%{translate:-2px -11px;rotate:4deg;scale:.99}75%{translate:-4px -4px;rotate:-1deg;scale:1.035}}@keyframes rv3-rail-enter{from{opacity:0;translate:var(--entry-x,0) 0;filter:blur(8px)}to{opacity:1;translate:0 0;filter:blur(0)}}@keyframes rv3-title-enter{from{opacity:0;translate:0 -18px;filter:blur(8px)}to{opacity:1;translate:0 0;filter:blur(0)}}@keyframes rv3-medal-glow{from{filter:drop-shadow(0 0 4px color-mix(in srgb,var(--tone) 35%,transparent))}to{filter:drop-shadow(0 0 17px color-mix(in srgb,var(--tone) 85%,transparent))}}
#hub-menu[data-rv3-motion="normal"] .rail-left{--entry-x:-28px}#hub-menu[data-rv3-motion="normal"] .rail-right{--entry-x:28px}
@media(max-width:900px){#hub-menu .rv3-stage{padding-left:10px;padding-right:10px;grid-template-rows:35px minmax(0,1fr) 21px;gap:4px}#hub-menu .rv3-main-stage{grid-template-columns:minmax(78px,.68fr) minmax(220px,2.2fr) minmax(78px,.68fr);gap:3px}#hub-menu .rv3-mode{grid-template-columns:clamp(37px,6vw,51px) 1fr;column-gap:5px;min-height:clamp(57px,14vh,83px);padding:3px}.rv3-medal{width:clamp(35px,5.5vw,49px)}.rv3-mode-name{font-size:clamp(8px,1.2vw,11px);letter-spacing:.05em}.rv3-mode small{font-size:6px;letter-spacing:.06em}.rv3-mode-index{display:none}#hub-menu .rv3-globe-wrap{width:min(49vh,48vw,360px);margin-top:clamp(27px,7vh,45px)}#hub-menu .rv3-flag-float{width:clamp(48px,8vw,78px)}#hub-menu .rv3-topline{font-size:7px;gap:6px}}
@media(max-width:620px){#hub-menu .rv3-stage{padding:7px 7px 5px;grid-template-rows:31px minmax(0,1fr) 19px}.rv3-mark{font-size:8px;gap:5px;letter-spacing:.1em}.rv3-mark-glyph{width:23px;height:23px;font-size:14px}.rv3-topline{display:none}.rv3-audio-panel{gap:4px}.rv3-audio-toggle{padding:4px 6px;font-size:7px}.rv3-volume span{display:none}.rv3-volume input{width:39px}#hub-menu .rv3-main-stage{grid-template-columns:70px minmax(0,1fr) 70px;gap:1px}.rv3-mode{grid-template-columns:1fr;grid-template-rows:37px auto;justify-items:center;text-align:center;gap:2px;min-height:clamp(50px,15vh,69px);padding:2px 0}.rv3-mode:before{inset:1px 0;clip-path:polygon(7% 0,93% 0,100% 50%,93% 100%,7% 100%,0 50%)}.rail-right .rv3-mode:before{clip-path:polygon(7% 0,93% 0,100% 50%,93% 100%,7% 100%,0 50%)}.rv3-medal{grid-column:1;grid-row:1;width:34px}.rv3-mode-name{grid-column:1;grid-row:2;align-self:center;font-size:7px}.rv3-mode small{display:none}#hub-menu .rv3-globe-wrap{width:min(44vh,52vw,235px);margin-top:32px}#hub-menu .rv3-globe-orbit.orbit-three{width:146%;height:100%}.rv3-flag-float{width:clamp(41px,10vw,57px);padding:2px}.rv3-core-title{top:2%}.rv3-core-title h1{font-size:clamp(17px,5vw,27px);margin:5px 0}.rv3-core-title p{font-size:8px}.rv3-kicker{font-size:6px;letter-spacing:.1em}.rv3-core-meta{bottom:1%;font-size:6px;gap:5px;letter-spacing:.06em}.rv3-core-line{width:14px}.rv3-footer{font-size:6px!important;letter-spacing:.07em!important}.rv3-footer-actions{gap:3px}.rv3-footer button{font-size:6px!important;padding:4px 5px!important}}
@media(max-height:390px){#hub-menu .rv3-stage{grid-template-rows:29px minmax(0,1fr) 18px;gap:3px;padding-top:4px;padding-bottom:3px}#hub-menu .rv3-mode{min-height:clamp(48px,15vh,60px)}#hub-menu .rv3-mode-rail{gap:2px}#hub-menu .rv3-globe-wrap{width:min(50vh,45vw,330px);margin-top:31px}#hub-menu .rv3-core-title h1{font-size:clamp(18px,3vw,32px)}#hub-menu .rv3-core-title p{margin:3px}#hub-menu .rv3-core-meta{bottom:0}}
@media(prefers-reduced-motion:reduce){#hub-menu.rv3-home *{scroll-behavior:auto}}

/* Explicit menu choice wins over site-wide and OS reduced-motion clamps. */
#hub-menu[data-rv3-motion="normal"] .rv3-ambient i{animation:rv3-particle-drift 4.6s ease-in-out infinite alternate!important}
#hub-menu[data-rv3-motion="normal"] .rv3-ambient i:nth-child(3n){animation-delay:-2.1s!important}#hub-menu[data-rv3-motion="normal"] .rv3-ambient i:nth-child(2n){animation-delay:-1.2s!important}
#hub-menu[data-rv3-motion="normal"] .rv3-globe-wrap{animation:rv3-core-float 5s ease-in-out infinite!important}#hub-menu[data-rv3-motion="normal"] .orbit-one,#hub-menu[data-rv3-motion="normal"] .orbit-three{animation:rv3-rotate 13s linear infinite!important}#hub-menu[data-rv3-motion="normal"] .orbit-two{animation:rv3-rotate-back 18s linear infinite!important}
#hub-menu[data-rv3-motion="normal"] .rv3-flag-float{animation:rv3-banner-wave 2.35s ease-in-out infinite!important}#hub-menu[data-rv3-motion="normal"] .flag-jp{animation-delay:-.8s!important}#hub-menu[data-rv3-motion="normal"] .flag-br{animation-delay:-1.5s!important}#hub-menu[data-rv3-motion="normal"] .flag-fr{animation-delay:-1.9s!important}
#hub-menu[data-rv3-motion="normal"] .rail-left{--entry-x:-28px;animation:rv3-rail-enter .8s cubic-bezier(.17,.78,.22,1) both!important}#hub-menu[data-rv3-motion="normal"] .rail-right{--entry-x:28px;animation:rv3-rail-enter .8s cubic-bezier(.17,.78,.22,1) .12s both!important}#hub-menu[data-rv3-motion="normal"] .rv3-core-title{animation:rv3-title-enter .95s cubic-bezier(.16,.8,.23,1) both!important}
#hub-menu[data-rv3-motion="normal"] .rv3-mode:nth-child(odd) .rv3-medal{animation:rv3-medal-glow 3s ease-in-out infinite alternate!important}#hub-menu[data-rv3-motion="normal"] .rv3-mode:nth-child(even) .rv3-medal{animation:rv3-medal-glow 3.5s ease-in-out -1.7s infinite alternate!important}
#hub-menu[data-rv3-motion="normal"] .rv3-mode{transition:transform .25s ease,filter .25s ease,background .25s ease!important}#hub-menu[data-rv3-motion="normal"] .rv3-medal{transition:transform .3s ease!important}
#hub-menu[data-rv3-motion="reduced"] .rv3-ambient i,#hub-menu[data-rv3-motion="reduced"] .rv3-globe-wrap,#hub-menu[data-rv3-motion="reduced"] .rv3-globe-orbit,#hub-menu[data-rv3-motion="reduced"] .rv3-flag-float,#hub-menu[data-rv3-motion="reduced"] .rv3-mode-rail,#hub-menu[data-rv3-motion="reduced"] .rv3-core-title,#hub-menu[data-rv3-motion="reduced"] .rv3-medal{animation:none!important;transition-duration:.01ms!important}

/* RV3.1 visual refinement: real map geometry, cloth-like flags and dimensional mode emblems. */
.rv3-globe-wrap{filter:drop-shadow(0 22px 30px #020718a8)}
.rv3-country-layer path{vector-effect:non-scaling-stroke}
.rv3-globe-graticule{pointer-events:none}
.rv3-flag-float{padding:0!important;border:0!important;border-radius:0 2px 2px 0!important;background:transparent!important;backdrop-filter:none!important;box-shadow:0 12px 22px #020612a8,0 0 18px #63eaff38!important;overflow:visible;transform-origin:left center;isolation:isolate;filter:drop-shadow(0 0 1px #eaffff8c)}
.rv3-flag-float:before{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(100deg,#ffffff35 0%,transparent 12%,#00102a12 29%,#ffffff2c 44%,#00102a30 61%,#ffffff1e 77%,#00102a35 100%);mix-blend-mode:overlay;clip-path:polygon(0 0,100% 2%,97% 24%,100% 49%,96% 74%,99% 100%,0 98%)}
.rv3-flag-float:after{content:"";position:absolute;z-index:3;left:0;top:0;bottom:0;width:5px;pointer-events:none;background:linear-gradient(90deg,#f6ffffb8,#6aeaff52,transparent);box-shadow:1px 0 5px #04152c88}
.rv3-flag-float img{position:relative;z-index:1;width:100%;height:100%;object-fit:fill;border-radius:0!important;clip-path:polygon(0 0,100% 2%,97% 24%,100% 49%,96% 74%,99% 100%,0 98%);transform:perspective(440px) rotateY(-14deg) skewY(-1deg);filter:saturate(1.07) contrast(1.03) drop-shadow(0 4px 3px #0008)}
.rv3-medal{filter:drop-shadow(0 5px 5px #020818a8) drop-shadow(0 0 7px color-mix(in srgb,var(--mode-accent,#65eaff) 55%,transparent))}
.rv3-medal svg{overflow:visible}
.rv3-medal .medal-shell{fill:#b77d30;stroke:#fff4c6;stroke-width:2.2;stroke-linejoin:round}
.rv3-medal .medal-ribbon{fill:#a72c58;stroke:#ffe7ee;stroke-width:1.7;stroke-linejoin:round}
.mode-trivia .medal-core{fill:url(#medal-a)}.mode-map .medal-core{fill:url(#medal-b)}.mode-paint .medal-core{fill:url(#medal-c)}.mode-create .medal-core{fill:url(#medal-d)}.mode-search .medal-core{fill:url(#medal-e)}.mode-album .medal-core{fill:url(#medal-f)}.mode-ranking .medal-core{fill:url(#medal-g)}.mode-settings .medal-core{fill:url(#medal-h)}
.rv3-medal .medal-core{stroke:#f4ffffd9;stroke-width:1.8;stroke-linejoin:round;filter:drop-shadow(0 1px 1px #061128b5)}
.rv3-medal .medal-mark{fill:#fff8dc;stroke:#fff;stroke-width:1.5;stroke-linejoin:round;filter:drop-shadow(0 1px 2px #03152d)}
#hub-menu[data-rv3-motion="normal"] .rv3-flag-float:before{animation:rv3-cloth-light 2.35s ease-in-out infinite!important}
#hub-menu[data-rv3-motion="normal"] .rv3-medal{animation:rv3-medal-presence 3.1s ease-in-out infinite alternate!important}
#hub-menu[data-rv3-motion="normal"] .rv3-mode:nth-child(even) .rv3-medal{animation-delay:-1.55s!important}
@keyframes rv3-cloth-light{0%,100%{opacity:.58;transform:translateX(-1%)}50%{opacity:1;transform:translateX(1.5%)}}
@keyframes rv3-medal-presence{0%{filter:drop-shadow(0 4px 4px #020818a8) drop-shadow(0 0 5px color-mix(in srgb,var(--mode-accent,#65eaff) 42%,transparent));transform:translateY(0) scale(1)}100%{filter:drop-shadow(0 7px 7px #020818ba) drop-shadow(0 0 12px color-mix(in srgb,var(--mode-accent,#65eaff) 72%,transparent));transform:translateY(-2px) scale(1.035)}}
#hub-menu[data-rv3-motion="reduced"] .rv3-flag-float:before{animation:none!important}

/* RV3 globe motion and canvas: keep a gentle idle turn, even with reduced effects. */
#hub-menu.rv3-home{max-width:none!important;width:auto!important;margin:0!important;padding:0!important}
#hub-menu .rv3-globe-wrap{width:min(62vh,48vw,620px);max-width:96%;margin-top:clamp(18px,4vh,54px)}
@media(max-width:900px){#hub-menu .rv3-globe-wrap{width:min(56vh,55vw,420px);margin-top:clamp(18px,5vh,38px)}}
@media(max-height:390px){#hub-menu .rv3-globe-wrap{width:min(56vh,50vw,380px);margin-top:clamp(17px,5vh,30px)}}
@media(max-width:900px){.rv3-flag-float{width:clamp(48px,8vw,78px)!important}.rv3-medal{filter:drop-shadow(0 3px 3px #020818a8) drop-shadow(0 0 5px color-mix(in srgb,var(--mode-accent,#65eaff) 50%,transparent))}}

/* Interactive globe surface and natural, uncropped fabric flags. */
.rv3-globe-surface{position:absolute;z-index:1;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab;outline:none}
.rv3-globe-surface.is-dragging{cursor:grabbing}
.rv3-globe-surface:focus-visible{filter:drop-shadow(0 0 6px #a9f7ff)}
.rv3-globe svg{position:relative;z-index:2;pointer-events:none}
.rv3-flag-float{width:clamp(72px,8vw,118px)!important;height:auto!important;aspect-ratio:3/2!important;padding:0!important;overflow:visible!important;transform:none!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;filter:drop-shadow(0 5px 5px #0206129c)!important;isolation:isolate}
.rv3-flag-float img{position:relative;z-index:1;display:block;width:100%!important;height:100%!important;object-fit:contain!important;clip-path:none!important;border-radius:0!important;transform:perspective(900px) rotateY(-3deg);filter:saturate(1.04) contrast(1.02) drop-shadow(0 2px 2px #0006)!important}
.rv3-flag-float:before{inset:0!important;z-index:2;clip-path:none!important;opacity:.29;mix-blend-mode:multiply;background:linear-gradient(90deg,transparent 0%,#07132c20 17%,#fff4 27%,transparent 38%,#08152b1c 56%,#fff3 68%,transparent 81%,#07132c18 100%);background-size:260% 100%}
.rv3-flag-float:after{z-index:3;left:0;top:-2px;bottom:-2px;width:3px;border-radius:2px;background:linear-gradient(90deg,#e8fbff,#7896a3 70%,#263b51)!important;box-shadow:1px 0 3px #06132388!important}
#hub-menu[data-rv3-motion="normal"] .rv3-flag-float{animation:rv3-flag-gentle 7.2s ease-in-out infinite!important}
#hub-menu[data-rv3-motion="normal"] .flag-jp{animation-delay:-1.3s!important}
#hub-menu[data-rv3-motion="normal"] .flag-br{animation-delay:-3.1s!important}
#hub-menu[data-rv3-motion="normal"] .flag-fr{animation-delay:-4.8s!important}
#hub-menu[data-rv3-motion="normal"] .rv3-flag-float:before{animation:rv3-fabric-light 6.8s ease-in-out infinite!important}
#hub-menu[data-rv3-motion="normal"] .flag-jp:before{animation-delay:-1.7s!important}
#hub-menu[data-rv3-motion="normal"] .flag-br:before{animation-delay:-3.3s!important}
#hub-menu[data-rv3-motion="normal"] .flag-fr:before{animation-delay:-4.6s!important}
#hub-menu[data-rv3-motion="reduced"] .rv3-flag-float:before{animation:none!important}
@keyframes rv3-flag-gentle{0%,100%{translate:0 0;rotate:-.7deg;scale:1}25%{translate:1px -1px;rotate:-.1deg;scale:1.006}55%{translate:-.5px -2px;rotate:.8deg;scale:1.01}78%{translate:-1px -.5px;rotate:.1deg;scale:1.004}}
@keyframes rv3-fabric-light{0%,100%{background-position:0 0;opacity:.2}50%{background-position:100% 0;opacity:.4}}
@media(max-width:900px){.rv3-flag-float{width:clamp(48px,8vw,78px)!important}}

/* Follow-up polish: natural drag direction and clearer fabric movement without poles. */
.rv3-flag-float:after{display:none!important}
.rv3-flag-float:before{opacity:.34;background-size:260% 100%!important}
.rv3-flag-float img{transform-origin:left center!important}
#hub-menu[data-rv3-motion="normal"] .rv3-flag-float{animation:rv3-flag-sail 5.4s ease-in-out infinite!important}
#hub-menu[data-rv3-motion="normal"] .flag-jp{animation-duration:4.8s!important;animation-delay:-1.1s!important}
#hub-menu[data-rv3-motion="normal"] .flag-br{animation-duration:6.1s!important;animation-delay:-2.8s!important}
#hub-menu[data-rv3-motion="normal"] .flag-fr{animation-duration:5.7s!important;animation-delay:-4.2s!important}
#hub-menu[data-rv3-motion="normal"] .rv3-flag-float img{animation:rv3-flag-ripple 4.4s ease-in-out infinite!important}
#hub-menu[data-rv3-motion="normal"] .flag-jp img{animation-duration:5.1s!important;animation-delay:-1.6s!important}
#hub-menu[data-rv3-motion="normal"] .flag-br img{animation-duration:4.9s!important;animation-delay:-3.4s!important}
#hub-menu[data-rv3-motion="normal"] .flag-fr img{animation-duration:5.8s!important;animation-delay:-2.3s!important}
#hub-menu[data-rv3-motion="normal"] .rv3-flag-float:before{animation:rv3-fabric-sweep 5.6s ease-in-out infinite!important}
#hub-menu[data-rv3-motion="normal"] .flag-jp:before{animation-delay:-1.2s!important}
#hub-menu[data-rv3-motion="normal"] .flag-br:before{animation-delay:-2.7s!important}
#hub-menu[data-rv3-motion="normal"] .flag-fr:before{animation-delay:-4.1s!important}
#hub-menu[data-rv3-motion="reduced"] .rv3-flag-float img{animation:none!important}
@keyframes rv3-flag-sail{0%,100%{translate:0 0;rotate:-2deg;scale:1}22%{translate:2px -3px;rotate:.8deg;scale:1.014}52%{translate:-1px -6px;rotate:2.8deg;scale:1.02}78%{translate:-2px -1.5px;rotate:-.8deg;scale:1.008}}
@keyframes rv3-flag-ripple{0%,100%{transform:perspective(900px) rotateY(-8deg) rotateX(0deg) skewY(0deg)}28%{transform:perspective(900px) rotateY(-20deg) rotateX(3deg) skewY(-1.6deg)}57%{transform:perspective(900px) rotateY(12deg) rotateX(-2.2deg) skewY(1.1deg)}82%{transform:perspective(900px) rotateY(-14deg) rotateX(1.4deg) skewY(-.8deg)}}
@keyframes rv3-fabric-sweep{0%,100%{background-position:0 0;opacity:.2}50%{background-position:100% 0;opacity:.47}}

/* RV3: las banderas actuales se renderizan como tela deformable, no como recortes planos. */
.rv3-flag-float{overflow:visible!important;isolation:isolate!important;filter:drop-shadow(0 5px 5px #020612a8)!important}
.rv3-flag-float:before,.rv3-flag-float:after{display:none!important;content:none!important}
.rv3-flag-float img{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;opacity:1;transform:none!important;clip-path:none!important;filter:none!important}
.rv3-flag-float.rv3-cloth-ready img{opacity:0!important}
.rv3-cloth-canvas{position:absolute!important;z-index:2!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;pointer-events:none!important;filter:drop-shadow(0 2px 2px #0005);}
#hub-menu[data-rv3-motion="normal"] .rv3-flag-float{animation:none!important}
#hub-menu[data-rv3-motion="reduced"] .rv3-cloth-canvas{filter:none!important}
.rv3-flag-float{cursor:grab!important;touch-action:none!important;user-select:none!important}
.rv3-cloth-canvas{inset:-50% auto auto -12%!important;width:124%!important;height:200%!important;pointer-events:none!important;touch-action:none!important;cursor:grab!important}
.rv3-flag-float.rv3-flag-dragging{z-index:9!important;cursor:grabbing!important;filter:drop-shadow(0 8px 12px #020612d9) drop-shadow(0 0 10px #72f5ff7a)!important}
.rv3-flag-float.rv3-flag-dragging .rv3-cloth-canvas{cursor:grabbing!important}
.rv3-flag-free-layer{position:absolute!important;inset:0!important;z-index:3!important;overflow:visible!important;pointer-events:none!important}
.rv3-flag-free-layer>.rv3-flag-float{pointer-events:auto!important}



/* RV3: los tres controles inferiores comparten una fila y zona táctil. */
#hub-menu .rv3-stage{grid-template-rows:42px minmax(0,1fr) 44px}
#hub-menu .rv3-footer{gap:8px;min-width:0}
#hub-menu .rv3-footer-actions{display:flex;flex:0 0 auto;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:clamp(4px,.65vw,9px);min-width:0;white-space:nowrap}
#hub-menu .rv3-footer-actions>button{position:relative!important;right:auto!important;bottom:auto!important;z-index:auto!important;display:inline-flex;flex:0 1 auto;align-items:center;justify-content:center;min-width:0;min-height:40px!important;max-width:180px;overflow:hidden;padding:0 clamp(8px,1vw,13px)!important;border:1px solid #86eaff70!important;border-radius:12px!important;background:linear-gradient(145deg,#102a48ed,#071426f2)!important;color:#e4faff!important;font:800 clamp(9px,.74vw,10px)/1.1 system-ui,sans-serif!important;letter-spacing:.045em!important;white-space:nowrap;text-overflow:ellipsis;box-shadow:inset 0 1px 0 #d7fbff20,0 0 13px #45d9ff20!important;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,filter .18s ease}
#hub-menu .rv3-footer-actions>button:hover,#hub-menu .rv3-footer-actions>button:focus-visible{transform:translateY(-2px);border-color:#a9f8ff!important;box-shadow:inset 0 1px 0 #e9ffff40,0 0 18px #45d9ff55!important;filter:brightness(1.12);outline:none}
#hub-menu #rv3-motion-toggle:before{content:"✦";margin-right:6px;color:#75f0ff}
#hub-menu .rv3-footer-actions .hub-footer-button:before{content:"◈";margin-right:6px;color:#bba2ff}
#hub-menu .rv3-footer-actions .mdw-player-btn:before{content:"◎";margin-right:6px;color:#baff8a}
#hub-menu .rv3-footer-actions .mdw-player-btn{max-width:clamp(112px,16vw,180px);font-family:inherit!important}
@media(max-width:620px){#hub-menu .rv3-stage{grid-template-rows:31px minmax(0,1fr) 44px}.rv3-footer-actions{gap:4px!important}#hub-menu .rv3-footer-actions>button{min-height:40px!important;padding:0 7px!important;font-size:9px!important;letter-spacing:.015em!important}#hub-menu .rv3-footer-actions .mdw-player-btn{max-width:clamp(108px,22vw,132px)}}
@media(max-height:390px){#hub-menu .rv3-stage{grid-template-rows:29px minmax(0,1fr) 44px!important}}
@media(max-width:620px) and (max-height:390px){#hub-menu .rv3-footer-actions{position:relative;z-index:10;padding:2px 3px;border:1px solid #69dcff55;border-radius:14px;background:linear-gradient(135deg,#061426fa,#091a31fa);box-shadow:inset 0 1px 0 #d7fbff18,0 0 18px #3fd8ff24}}
.rv3-audio-panel>#game-fullscreen-toggle:not([hidden]){position:static!important;inset:auto!important;z-index:auto!important;flex:none;width:auto!important;height:auto!important;min-width:0;min-height:29px!important;margin:0 0 0 2px;padding:5px 9px!important;border:1px solid #95eaff55;border-radius:999px;background:linear-gradient(135deg,#14334c,#101b35);color:#e2faff;font-size:8px!important;font-weight:900;letter-spacing:.07em;line-height:1;box-shadow:inset 0 1px 0 #ffffff20,0 0 12px #48d9f022;white-space:nowrap}
.rv3-audio-panel>#game-fullscreen-toggle:not([hidden]):hover{border-color:#64f2ff;filter:brightness(1.16);box-shadow:0 0 14px #48d9f055}
@media(max-width:620px){.rv3-audio-panel>#game-fullscreen-toggle:not([hidden]){min-height:24px!important;padding:4px 6px!important;font-size:6px!important;letter-spacing:.03em}}
