.game-body{min-height:100vh;background:#14532d;overflow-x:hidden}.game-body.is-hub{overflow:hidden;height:100vh}.game-body .music-fab,.game-body .site-foot,.game-body .topbar{display:none!important}.g-world{position:fixed;inset:0;z-index:0;background:#7dd3fc;overflow:hidden}.g-world-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}.g-world::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(600px 240px at 80% 8%,rgba(253,224,71,.28),transparent 60%),linear-gradient(180deg,transparent 62%,rgba(20,83,45,.35))}.g-world.is-dim::after{background:rgba(8,32,20,.52)}.g-world.has-custom::after{background:linear-gradient(180deg,transparent 70%,rgba(20,83,45,.18))}.g-world.has-custom.is-dim::after{background:rgba(8,32,20,.45)}.g-hud{position:fixed;top:0;left:0;right:0;z-index:30;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:.6rem;padding:.7rem .8rem;pointer-events:none}.g-hud>*{pointer-events:auto}.g-icons form{margin:0;display:contents}.g-player{display:flex;align-items:center;gap:.55rem;background:linear-gradient(180deg,#f4d19a,#c9853a);border:3px solid #7c4a12;border-radius:999px;padding:.25rem .85rem .25rem .25rem;box-shadow:0 6px 0 #7c4a12,0 10px 24px rgba(0,0,0,.25);max-width:280px}.g-player img{width:52px;height:52px;border-radius:50%;border:3px solid #fff7ed;background:#134e4a;object-fit:cover}.g-player strong{display:block;color:#1c1917;font-size:.95rem;line-height:1.1;max-width:9.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.g-lv{display:inline-block;background:#0f766e;color:#ecfdf5;font-size:.68rem;font-weight:800;border-radius:999px;padding:.05rem .4rem;margin-top:.12rem}.g-xp{width:100%;height:8px;background:#7c4a12;border-radius:99px;overflow:hidden;margin-top:.2rem}.g-xp>i{display:block;height:100%;background:linear-gradient(90deg,#fb923c,#facc15);position:relative;overflow:hidden}.g-xp>i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);transform:translateX(-120%);animation:2.4s ease-in-out infinite xp-shine}.g-title{font-family:Bangers,var(--display);font-size:clamp(1.4rem, 4vw, 2.4rem);color:#facc15;text-shadow:0 3px 0 #b45309,0 0 18px rgba(250,204,21,.45);letter-spacing:.06em;padding-top:.35rem;text-align:center;display:flex;align-items:center;justify-content:center;gap:.45rem}.brand-mark--hud .brand-crest,.g-brand-logo{width:40px;height:40px;object-fit:contain;filter:drop-shadow(0 2px 0 rgba(0,0,0,.28));animation:3s ease-in-out infinite brand-float}.brand-wordmark--hud{max-height:clamp(2rem,7vw,3.4rem);max-width:min(58vw,420px);width:auto;filter:drop-shadow(0 3px 0 rgba(180, 83, 9, .85));animation:3s ease-in-out infinite brand-float}.g-brand-text{font-family:Bangers,var(--display);font-size:clamp(1.4rem,4vw,2.4rem);color:#facc15;text-shadow:0 3px 0 #b45309,0 0 18px rgba(250,204,21,.45);letter-spacing:.06em;animation:3s ease-in-out infinite brand-float}.g-brand-text span{color:#fb923c}.brand-mark--hud{display:inline-flex;align-items:center;gap:.45rem}.g-icons{display:flex;justify-content:flex-end;gap:.45rem;flex-wrap:wrap}.g-ico{width:58px;min-height:58px;border:3px solid #7c4a12;border-radius:16px;background:linear-gradient(180deg,#f4d19a,#c9853a);color:#1c1917;text-decoration:none;display:grid;place-items:center;font-size:.62rem;font-weight:800;box-shadow:0 5px 0 #7c4a12;cursor:pointer;font-family:inherit;padding:.15rem;line-height:1.05;text-align:center;transition:transform .16s,filter .16s}.g-ico:focus-visible,.g-ico:hover{transform:translateY(-3px) scale(1.05);filter:brightness(1.08)}.g-ico span{font-size:1.35rem;display:block;animation:2.6s ease-in-out infinite ico-bob}.g-ico.on,.g-ico[aria-pressed=true]{background:linear-gradient(180deg,#5eead4,#0f766e);color:#042f2e}.g-pins{position:fixed;inset:0;z-index:5;pointer-events:none}.g-pin{position:absolute;pointer-events:auto;transform:translate(-50%,-100%);border:0;background:0 0;cursor:pointer;font-family:inherit;text-align:center;color:#1c1917;animation:2.6s ease-in-out infinite pin-bob}.g-pin .g-pin-num{width:54px;height:54px;margin:0 auto .25rem;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-size:1.35rem;color:#fff;border:4px solid #fff;box-shadow:0 8px 0 rgba(0,0,0,.2),0 0 0 6px rgba(250,204,21,.25);background:var(--pin-color,#0ea5e9);overflow:hidden;animation:2.2s ease-in-out infinite pin-glow}.g-pin .g-pin-num img{width:100%;height:100%;object-fit:contain;display:block}.g-pin.is-lock .g-pin-num{filter:grayscale(.7);opacity:.7;animation:none}.g-pin.is-done .g-pin-num{box-shadow:0 8px 0 rgba(0,0,0,.2),0 0 0 6px rgba(52,211,153,.45)}.g-pin-label{display:inline-block;background:#fef3c7;border:2px solid #7c4a12;border-radius:999px;padding:.15rem .55rem;font-size:.72rem;font-weight:800;white-space:nowrap}@keyframes pin-bob{0%,100%{transform:translate(-50%,-100%)}50%{transform:translate(-50%,calc(-100% - 8px))}}@keyframes hero-bob{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(-50%,calc(-50% - 8px))}}.g-hero-spot{position:absolute;left:46%;top:58%;width:min(150px,28vw);transform:translate(-50%,-50%);filter:drop-shadow(0 14px 16px rgba(0,0,0,.35));animation:3.5s ease-in-out infinite hero-bob;pointer-events:none;z-index:4}.g-hero-spot img{width:100%;height:auto;display:block}.g-dialog{position:fixed;left:.8rem;right:.8rem;bottom:.8rem;z-index:25;max-width:920px;margin:0 auto;background:linear-gradient(180deg,rgba(15,23,42,.94),rgba(6,37,31,.96));border:4px solid #f4d19a;border-radius:22px;min-height:150px;display:grid;grid-template-columns:1fr 140px;gap:.6rem;padding:.9rem 1rem .85rem;box-shadow:0 16px 40px rgba(0,0,0,.4);animation:.38s ease-out dialog-in}.g-dialog[hidden]{display:none!important}.g-who{display:inline-block;background:linear-gradient(180deg,#fb923c,#c2410c);color:#fff7ed;font-weight:800;border-radius:8px 8px 12px 0;padding:.2rem .7rem;margin:-1.35rem 0 .45rem;border:2px solid #7c2d12}.g-dialog p{margin:.2rem 0;font-size:clamp(.95rem, 2.2vw, 1.08rem)}.g-choices{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.7rem}.g-choices a,.g-choices button{background:#facc15;color:#1c1917;border:0;border-radius:999px;font-weight:800;font-family:inherit;padding:.45rem .9rem;text-decoration:none;cursor:pointer;min-height:40px;transition:transform .15s}.g-choices .ghost{background:0 0;color:#fde68a;border:2px solid #fde68a}.g-portrait{align-self:end;width:130px;margin-bottom:-.4rem;filter:drop-shadow(0 8px 8px rgba(0,0,0,.35))}.g-sheet{position:relative;z-index:8;width:min(980px,calc(100% - 1.4rem));margin:5.6rem auto 8.5rem;background:linear-gradient(180deg,rgba(254,243,199,.96),rgba(255,251,235,.94));color:#1c1917;border:4px solid #7c4a12;border-radius:22px;padding:1rem 1.1rem 1.2rem;box-shadow:0 18px 0 rgba(124,74,18,.35);max-height:calc(100vh - 8.2rem);overflow-x:hidden;overflow-y:auto;animation:.45s ease-out fade-up}.g-sheet h1,.g-sheet h2,.g-sheet h3{color:#7c2d12}.g-sheet .muted{color:#57534e}.g-sheet .card{background:#fff7ed;border:2px solid #d6b07c;color:#1c1917;box-shadow:none}.g-sheet .btn.ghost{border-color:#7c4a12;color:#7c2d12}.g-sheet a{color:#0f766e}.g-sheet .level-card{background:#fff7ed;border:2px solid #d6b07c}.g-sheet input,.g-sheet select,.g-sheet textarea{background:#fff;color:#1c1917;border-color:#d6b07c}.g-sheet .rank-list li,.g-sheet .table td,.g-sheet .table th{border-color:rgba(124,74,18,.18)}.g-sheet .rank-list .pos{background:#0f766e;color:#ecfdf5}.g-sheet .rank-list .me{background:rgba(250,204,21,.28)}.g-sheet .avatar-opt{background:#fff7ed;border-color:#d6b07c;color:#1c1917}.g-sheet .avatar-opt:has(input:checked),.g-sheet .avatar-opt:has(input:focus-visible){background:#fde68a;border-color:#b45309}.g-sheet .survey-opt{background:#fff7ed;border-color:#d6b07c;color:#1c1917}.g-sheet .survey-opt:has(input:checked){background:#fde68a;border-color:#b45309}.g-sheet .alert.bad{color:#fecaca}.g-sheet .alert.ok{color:#a7f3d0}.g-sheet .q-title{color:#fff7ed}.g-modal{position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.45);display:grid;place-items:center;padding:1rem}.g-modal[hidden]{display:none!important}.g-modal .g-panel{width:min(420px,100%);background:linear-gradient(180deg,#f4d19a,#e8c07a);border:4px solid #7c4a12;border-radius:20px;padding:1rem;color:#1c1917}.g-album-panel{width:min(720px,100%)}.g-album{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;max-height:55vh;overflow:auto}.g-album figure{margin:0}.g-album img{width:100%;height:120px;object-fit:cover;border-radius:10px;display:block;background:#14532d}.g-album figcaption{font-size:.75rem;font-weight:800;margin-top:.2rem}.g-album figcaption small{display:block;font-weight:600;color:#57534e}.g-boost-row{display:grid;gap:.5rem}.g-boost-row article{display:flex;justify-content:space-between;align-items:center;background:#fff7ed;border-radius:12px;padding:.55rem .7rem;font-weight:800}.game-body .game-page{position:relative;z-index:8;width:min(920px,calc(100% - 1.4rem));margin:5.6rem auto 1.4rem;animation:.45s ease-out fade-up}.game-body .game-top{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;background:linear-gradient(180deg,#f4d19a,#c9853a);border:3px solid #7c4a12;border-radius:16px;padding:.7rem .9rem;margin-bottom:.8rem;color:#1c1917}.game-body .game-top h1{margin:0;font-size:1.2rem}.game-body .game-top-copy{flex:1;min-width:10rem}.game-body .game-top .eyebrow{color:#7c2d12;margin:.15rem 0 0}.game-body .lvl-logo{width:56px;height:56px;object-fit:contain;border-radius:12px;background:#fff7ed;border:2px solid #7c4a12}.game-body .game-page .btn.ghost{border-color:#7c4a12;color:#1c1917}.game-body .concept-card,.game-body .game-intro,.game-body .game-page .card,.game-body .quiz-card,.game-body .result-card,.game-body .sim-card{background:linear-gradient(180deg,rgba(254,243,199,.97),#fff7ed);color:#1c1917;border:3px solid #7c4a12}.game-body .game-page h1,.game-body .game-page h2{color:#7c2d12}.game-body .hud{background:#7c4a12;color:#fff7ed}.game-body .opts button{background:#fff7ed;color:#1c1917;border-color:#c9853a}.auth-on-world{position:relative;z-index:8;width:min(440px,calc(100% - 1.4rem));margin:5.8rem auto 2.5rem}.auth-on-world.is-wide{width:min(560px,calc(100% - 1.4rem))}.auth-on-world .auth-card{background:linear-gradient(180deg,#fffbeb,#fde68a);color:#1c1917;border:4px solid #7c4a12}.auth-on-world h1{color:#7c2d12}.auth-on-world input{background:#fff;color:#1c1917;border-color:#d6b07c}.auth-on-world .avatar-opt{background:#fff7ed;border-color:#d6b07c;color:#1c1917}.auth-on-world .alert.bad{color:#fecaca}.auth-on-world .muted,.auth-on-world a{color:#0f766e}.auth-on-world .hint{color:#57534e}@media (max-width:720px){.g-title{display:none}.g-dialog,.g-hud{grid-template-columns:1fr}.g-portrait{display:none}.g-player{max-width:100%}.g-icons{justify-content:flex-start}.g-ico{width:46px;min-height:46px;font-size:0;line-height:0}.g-ico span{font-size:1.2rem;line-height:1}.g-sheet,.game-body .game-page{margin-top:6.4rem;margin-bottom:9rem}}.hotspot{animation:1.6s ease-in-out infinite hotspot-pulse}.hotspot.done{animation:none}.modal:not(.hidden){animation:.22s ease-out fade-in}.result-card:not(.hidden),.result-pop{animation:.42s cubic-bezier(.2,1.35,.4,1) pop-in}.g-choices a:hover,.g-choices button:hover{transform:translateY(-2px)}@keyframes brand-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes ico-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes xp-shine{0%{transform:translateX(-120%)}100%,60%{transform:translateX(120%)}}@keyframes dialog-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes pop-in{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes pin-glow{0%,100%{box-shadow:0 8px 0 rgba(0,0,0,.2),0 0 0 6px rgba(250,204,21,.25)}50%{box-shadow:0 8px 0 rgba(0,0,0,.2),0 0 0 10px rgba(250,204,21,.5)}}@keyframes hotspot-pulse{0%,100%{transform:scale(1);box-shadow:0 0 0 8px rgba(228,184,74,.25)}50%{transform:scale(1.12);box-shadow:0 0 0 14px rgba(228,184,74,.12)}}.lvl-intro-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 40%,rgba(20,83,45,.82),rgba(4,20,10,.96));overflow:hidden;animation:.5s ease-out lvlIntroFadeIn}.lvl-intro-overlay.is-leaving{animation:.6s ease-in forwards lvlIntroFadeOut;pointer-events:none}.lvl-intro-particles{position:absolute;inset:0;background:radial-gradient(2px 2px at 20% 30%,var(--lvl-color,.5),transparent),radial-gradient(2px 2px at 80% 20%,#facc15,transparent),radial-gradient(3px 3px at 50% 70%,var(--lvl-color,.4),transparent),radial-gradient(2px 2px at 10% 80%,#facc15,transparent),radial-gradient(2px 2px at 90% 60%,var(--lvl-color,.3),transparent);background-size:200px 200px;animation:12s linear infinite lvlParticles;opacity:.6}.lvl-intro-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem;max-width:600px}.lvl-intro-img-wrap{animation:1s cubic-bezier(.22,1,.36,1) both lvlImgEnter;margin-bottom:1.5rem;filter:drop-shadow(0 0 40px var(--lvl-color)) drop-shadow(0 8px 32px rgba(0,0,0,.5))}.lvl-intro-img{max-width:min(80vw,360px);max-height:45vh;border-radius:16px;object-fit:contain;border:0}.lvl-intro-badge{display:inline-block;background:linear-gradient(135deg,var(--lvl-color),#facc15);color:#0a1a0f;font-weight:800;font-size:.85rem;text-transform:uppercase;letter-spacing:.12em;padding:.35em 1.2em;border-radius:999px;animation:.8s cubic-bezier(.22,1,.36,1) .3s both lvlBadgeEnter;box-shadow:0 0 20px var(--lvl-color),0 0 60px rgba(250,204,21,.25)}.lvl-intro-title{font-size:clamp(1.6rem, 5vw, 2.8rem);font-weight:900;color:#fff;margin:.6rem 0 .3rem;line-height:1.15;text-shadow:0 0 30px var(--lvl-color),0 2px 6px rgba(0,0,0,.6);animation:1s cubic-bezier(.22,1,.36,1) .5s both lvlTitleEnter}.lvl-intro-sub{color:rgba(255,255,255,.75);font-size:1rem;margin:0 0 1.5rem;animation:1s cubic-bezier(.22,1,.36,1) .7s both lvlSubEnter}.lvl-intro-btn{font-size:1.15rem;gap:.5em;padding:.75em 2.5em;animation:.8s cubic-bezier(.22,1,.36,1) 1s both lvlBtnEnter;box-shadow:0 0 24px rgba(250,204,21,.4),0 4px 16px rgba(0,0,0,.3);position:relative;overflow:hidden}.lvl-intro-btn::after{content:'';position:absolute;inset:-50%;background:linear-gradient(90deg,transparent 30%,rgba(255,255,255,.25) 50%,transparent 70%);animation:2.5s ease-in-out 1.5s infinite lvlBtnShine}.lvl-intro-btn-icon{font-size:1.3em}@keyframes lvlIntroFadeIn{from{opacity:0}to{opacity:1}}@keyframes lvlIntroFadeOut{from{opacity:1}to{opacity:0}}@keyframes lvlParticles{from{transform:translateY(0)}to{transform:translateY(-200px)}}@keyframes lvlImgEnter{from{opacity:0;transform:scale(.6) translateY(40px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes lvlBadgeEnter{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes lvlTitleEnter{from{opacity:0;transform:translateY(30px);letter-spacing:.3em}to{opacity:1;transform:translateY(0);letter-spacing:normal}}@keyframes lvlSubEnter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes lvlBtnEnter{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes lvlBtnShine{0%{transform:translateX(-100%) rotate(25deg)}100%{transform:translateX(100%) rotate(25deg)}}@media (prefers-reduced-motion:reduce){.brand-mark--hud .brand-crest,.brand-wordmark--hud,.g-brand-logo,.g-dialog,.g-hero-spot,.g-ico span,.g-pin,.g-pin .g-pin-num,.g-sheet,.g-xp>i::after,.game-body .game-page,.hotspot,.lvl-intro-badge,.lvl-intro-btn,.lvl-intro-img-wrap,.lvl-intro-overlay,.lvl-intro-particles,.lvl-intro-sub,.lvl-intro-title,.modal:not(.hidden),.result-card:not(.hidden),.result-pop{animation:none!important}.g-choices a,.g-choices button,.g-ico{transition:none}}
.game-body .feedback,.game-body #s-feed{background:#0f766e;color:#ecfdf5;border:2px solid #115e59;font-weight:800;line-height:1.45}.game-body .feedback.is-ok,.game-body #s-feed.is-ok{background:#166534;color:#ecfdf5;border-color:#14532d}.game-body .feedback.is-bad,.game-body #s-feed.is-bad{background:#991b1b;color:#fef2f2;border:2px solid #7f1d1d}.game-body .local,.game-body #c-ex{background:#115e59;color:#ecfdf5;font-weight:700}.game-body .btn.speak{background:#1d4ed8;color:#fff}.game-body .btn.speak.is-speaking{background:#b91c1c;color:#fff}.game-body .boost-chip{background:#fffbeb;color:#1c1917;border:2px solid #7c4a12}.game-body .boost-chip.on{background:#0f766e;color:#ecfdf5;border-color:#042f2e}.game-body .boost-chip:disabled{color:#44403c;background:#e7e5e4}.game-body .opts button.good{background:#166534;color:#ecfdf5;border-color:#14532d}.game-body .opts button.bad{background:#991b1b;color:#fef2f2;border-color:#7f1d1d}.game-body .game-page .muted,.game-body .g-panel .muted{color:#44403c}.game-body .g-boost-row article{background:#fffbeb;color:#1c1917;border:2px solid #7c4a12}.game-body .g-boost-row article strong{color:#0f766e}.game-body .g-dialog,.game-body .g-dialog p,.game-body .g-dialog strong{color:#fff7ed}.game-body .hud b{color:#fde68a}.game-body .concept-progress{color:#facc15;text-shadow:0 1px 2px rgba(0,0,0,.55)}.game-body .def{color:#1c1917}.game-body .result-card,.game-body .result-card p,.game-body .result-card .eyebrow{color:#1c1917}.game-body .result-card .big{color:#b45309}.game-body .modal .card{background:#fff7ed;color:#1c1917;border:3px solid #7c4a12}.game-body .modal .card h2,.game-body .modal .card p{color:#1c1917}

.game-body #fase-mapa{position:relative;z-index:2}.game-body .map-hint{display:block;width:fit-content;max-width:calc(100% - 1rem);margin:.75rem auto 0;padding:.45rem .9rem;border-radius:999px;background:#facc15;color:#1c1917;font-weight:800;text-align:center;border:2px solid #7c4a12;box-shadow:0 4px 0 #7c4a12,0 8px 18px rgba(0,0,0,.35)}.game-body .map-hint b{color:#7c2d12}
.g-portrait{max-height:168px;height:auto;object-fit:contain;object-position:bottom center}
@media (max-width:720px){.g-portrait{display:block;width:92px;max-height:108px;justify-self:end;margin:-.15rem .1rem -.35rem auto}}

/* === Hub: fixed side rail + centered dialog + Barto guide === */
.g-hero-spot{display:none!important}
.game-body.is-hub{overflow:hidden!important}
.g-pins{position:static;inset:auto;pointer-events:auto}
.g-rail{--rail-expand:min(240px,34vw);position:fixed;top:5.4rem;right:.7rem;bottom:1rem;z-index:12;width:min(300px,42vw);display:flex;flex-direction:column;gap:.55rem;pointer-events:none;overflow:visible}
.g-rail-head{pointer-events:auto;display:flex;align-items:center;gap:.65rem;padding:.45rem .75rem .45rem .45rem;border-radius:16px;background:linear-gradient(180deg,#facc15,#eab308);border:3px solid #7c4a12;box-shadow:0 6px 0 #7c4a12,0 14px 28px rgba(0,0,0,.28);position:relative;z-index:2}
.g-rail-crest{flex:0 0 52px;width:52px;height:52px;border-radius:12px;background:#fff7ed;border:2px solid #a16207;display:grid;place-items:center;overflow:hidden}
.g-rail-crest img{width:100%;height:100%;object-fit:contain}
.g-rail-head strong{font-family:var(--display,Georgia,serif);font-size:clamp(1.35rem,3vw,1.85rem);font-style:italic;color:#1c1917;letter-spacing:.02em;line-height:1}
.g-rail-list{pointer-events:auto;flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;gap:.55rem;padding:.15rem .1rem .4rem;padding-left:var(--rail-expand);margin-left:calc(-1 * var(--rail-expand));scrollbar-width:none;-ms-overflow-style:none}
.g-rail-list::-webkit-scrollbar{width:0;height:0;display:none}
.g-rail-section{margin:.35rem .15rem 0;margin-left:0;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#fde68a;text-shadow:0 1px 2px rgba(0,0,0,.45)}
.g-rail-card.g-pin{position:relative;left:0;transform:none;animation:none;filter:none;display:block;width:100%;margin:0;padding:0;border:0;background:0 0;box-shadow:none;cursor:pointer;font-family:inherit;text-align:left;color:#fff7ed;overflow:visible;z-index:1}
.g-rail-shell{display:flex;flex-direction:row;align-items:stretch;width:100%;margin-left:0;border-radius:16px;border:2px solid rgba(186,230,253,.55);background:linear-gradient(135deg,rgba(15,40,36,.88),rgba(20,55,48,.82));box-shadow:0 8px 18px rgba(0,0,0,.28);overflow:hidden;transition:width .34s cubic-bezier(.22,1,.36,1),margin-left .34s cubic-bezier(.22,1,.36,1),border-color .2s ease,box-shadow .2s ease,background .2s ease}
.g-rail-core{flex:1 1 auto;min-width:0;display:grid;grid-template-columns:auto minmax(72px,96px) minmax(0,1fr);align-items:center;gap:.55rem;padding:.4rem .5rem;box-sizing:border-box}
.g-rail-detail{flex:0 0 0;width:0;min-width:0;max-width:0;opacity:0;overflow:hidden;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;gap:.28rem;padding:0;border-right:0 solid rgba(250,204,21,.28);pointer-events:none;transition:width .34s cubic-bezier(.22,1,.36,1),max-width .34s cubic-bezier(.22,1,.36,1),opacity .22s ease,padding .34s ease,border-width .34s ease,flex-basis .34s cubic-bezier(.22,1,.36,1)}
.g-rail-detail-kicker{display:inline-flex;align-self:flex-start;padding:.12rem .5rem;border-radius:999px;background:#facc15;color:#1c1917;font-size:.68rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}
.g-rail-detail-text{margin:0;font-size:.82rem;line-height:1.4;color:#d5e4de;overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;word-break:break-word;overflow-wrap:anywhere}
.g-rail-card.g-pin:hover,.g-rail-card.g-pin:focus-visible{outline:none;z-index:6}
.g-rail-card.g-pin:hover .g-rail-shell,.g-rail-card.g-pin:focus-visible .g-rail-shell{width:calc(100% + var(--rail-expand));margin-left:calc(-1 * var(--rail-expand));border-color:#facc15;box-shadow:0 12px 26px rgba(0,0,0,.38),0 0 0 2px rgba(250,204,21,.22);background:linear-gradient(135deg,rgba(18,52,46,.95),rgba(24,70,60,.9))}
.g-rail-card.g-pin:hover .g-rail-detail,.g-rail-card.g-pin:focus-visible .g-rail-detail{flex:0 0 var(--rail-expand);width:var(--rail-expand);max-width:var(--rail-expand);opacity:1;padding:.45rem .65rem;border-right-width:1px;pointer-events:auto}
.g-rail-num{font-family:var(--display,Georgia,serif);font-size:1.65rem;font-weight:800;color:#e2e8f0;min-width:1.4rem;text-align:center;line-height:1}
.g-rail-media{position:relative;width:100%;aspect-ratio:1;border-radius:12px;overflow:hidden;border:2px solid color-mix(in srgb,var(--pin-color,#0ea5e9) 55%,#fff);background:#0b1f1b}
.g-pin-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease,filter .3s ease}
.g-rail-card:hover .g-pin-img{transform:scale(1.06)}
.g-pin-fallback{width:100%;height:100%;display:grid;place-items:center;font-weight:800;font-size:1.4rem;color:#fff;background:linear-gradient(145deg,var(--pin-color,#0ea5e9),#0f172a)}
.g-rail-media-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.35))}
.g-pin-state{position:absolute;top:.3rem;right:.3rem;width:1.35rem;height:1.35rem;border-radius:50%;display:grid;place-items:center;font-size:.65rem;font-weight:800;border:2px solid #fff;box-shadow:0 2px 0 rgba(0,0,0,.25)}
.g-pin-state.is-lock-badge{background:#334155;color:#f8fafc}
.g-pin-state.is-done-badge{background:#059669;color:#ecfdf5}
.g-rail-copy{min-width:0;display:grid;gap:.12rem}
.g-rail-title{font-size:.82rem;font-weight:800;line-height:1.2;color:#fff7ed;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.g-rail-meta{font-size:.68rem;font-weight:700;color:#99f6e4}
.g-rail-card.is-lock .g-rail-shell{border-color:rgba(148,163,184,.4);background:linear-gradient(135deg,rgba(30,41,45,.82),rgba(40,55,52,.75))}
.g-rail-card.is-lock .g-pin-img{filter:saturate(.3) brightness(.7)}
.g-rail-card.is-lock .g-rail-num,.g-rail-card.is-lock .g-rail-title{color:#cbd5e1}
.g-rail-card.is-lock .g-rail-meta{color:#94a3b8}
.g-rail-card.is-done .g-rail-shell{border-color:rgba(52,211,153,.55)}
.g-rail-card.is-done .g-rail-meta{color:#6ee7b7}
.g-rail-card.is-place .g-rail-num{color:#fde68a;font-size:1.25rem}

.g-dialog-layer{position:fixed;inset:0;z-index:28;display:flex;align-items:center;justify-content:center;padding:max(.8rem,3vh) .8rem max(1rem,4vh);pointer-events:none}
.g-dialog-layer[hidden]{display:none!important}
.g-dialog-layer.is-open{pointer-events:auto}
.g-dialog-backdrop{position:absolute;inset:0;border:0;padding:0;margin:0;cursor:pointer;background:radial-gradient(ellipse at center,rgba(6,24,20,.35),rgba(4,12,10,.72));opacity:0;transition:opacity .35s ease}
.g-dialog-layer.is-open .g-dialog-backdrop{opacity:1}
.g-dialog-stage{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:center;gap:clamp(.2rem,2vw,1rem);max-width:min(980px,100%);width:100%;pointer-events:none}
.g-dialog-barto{flex:0 0 auto;width:min(210px,34vw);align-self:flex-end;margin:0 0 -.15rem;transform:translateX(-18px) translateY(24px) scale(.92);opacity:0;filter:drop-shadow(0 18px 22px rgba(0,0,0,.45));pointer-events:none}
.g-dialog-layer.is-open .g-dialog-barto{animation:barto-enter .55s cubic-bezier(.22,1.15,.36,1) .08s both}
.g-dialog-barto .g-portrait,.g-dialog .g-portrait{display:block!important;width:100%;max-width:none;max-height:min(280px,42vh);height:auto;object-fit:contain;object-position:bottom center;margin:0;justify-self:auto}
.g-dialog{position:relative;left:auto;right:auto;bottom:auto;margin:0;max-width:min(560px,100%);width:100%;min-height:0;display:block;padding:1.05rem 1.15rem 1rem;border-radius:22px;border:3px solid #f4d19a;background:linear-gradient(165deg,rgba(15,36,32,.96),rgba(8,22,20,.98) 55%,rgba(12,28,24,.96));box-shadow:0 24px 60px rgba(0,0,0,.5),0 0 0 1px rgba(250,204,21,.18) inset;transform:translateY(28px) scale(.94);opacity:0;pointer-events:auto}
.g-dialog-layer.is-open .g-dialog{animation:dialog-pop .5s cubic-bezier(.22,1.15,.36,1) both}
.g-dialog[hidden]{display:block!important}
.g-who{display:inline-block;background:linear-gradient(180deg,#fb923c,#c2410c);color:#fff7ed;font-weight:800;border-radius:8px 8px 12px 0;padding:.25rem .75rem;margin:0 0 .55rem;border:2px solid #7c2d12;box-shadow:0 3px 0 rgba(0,0,0,.2)}
.g-dialog p{margin:.25rem 0;font-size:clamp(.95rem,2.1vw,1.08rem);color:#fff7ed;line-height:1.45}
.g-dialog strong{color:#fde68a}
.g-choices{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.85rem}
.g-choices a,.g-choices button{background:#facc15;color:#1c1917;border:0;border-radius:999px;font-weight:800;font-family:inherit;padding:.5rem 1rem;text-decoration:none;cursor:pointer;min-height:42px;transition:transform .15s ease,background .15s ease;box-shadow:0 3px 0 #a16207}
.g-choices a:hover,.g-choices button:hover{transform:translateY(-2px);background:#fde047}
.g-choices .ghost{background:transparent;color:#fde68a;border:2px solid rgba(253,230,138,.7);box-shadow:none}

@keyframes dialog-pop{0%{opacity:0;transform:translateY(36px) scale(.9)}60%{opacity:1;transform:translateY(-4px) scale(1.02)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes barto-enter{0%{opacity:0;transform:translateX(-40px) translateY(40px) scale(.85)}70%{opacity:1;transform:translateX(-6px) translateY(-4px) scale(1.03)}100%{opacity:1;transform:translateX(0) translateY(0) scale(1)}}

@media (max-width:900px){
  .g-rail{width:min(260px,46vw);--rail-expand:min(200px,32vw)}
}
@media (max-width:720px){
  .g-rail{top:auto;left:.55rem;right:.55rem;bottom:.55rem;width:auto;max-height:42vh;overflow:hidden;--rail-expand:0px}
  .g-rail-list{flex-direction:row;overflow-x:auto;overflow-y:hidden;padding:.15rem .1rem .35rem;margin-left:0;scrollbar-width:none}
  .g-rail-section{writing-mode:horizontal-tb;align-self:center}
  .g-rail-card.g-pin{min-width:220px;flex:0 0 auto}
  .g-rail-card.g-pin:hover .g-rail-shell,.g-rail-card.g-pin:focus-visible .g-rail-shell{width:100%;margin-left:0;min-width:min(300px,82vw)}
  .g-rail-shell{flex-direction:column}
  .g-rail-card.g-pin:hover .g-rail-detail,.g-rail-card.g-pin:focus-visible .g-rail-detail{flex:0 0 auto;width:100%;max-width:100%;order:2;border-right-width:0;border-top:1px solid rgba(250,204,21,.25);padding:.4rem .55rem .5rem}
  .g-dialog-stage{flex-direction:column-reverse;align-items:center;gap:.15rem}
  .g-dialog-barto{width:min(140px,42vw);margin:0 auto -.55rem;order:2}
  .g-dialog{order:1;padding:.9rem .95rem .85rem}
  .g-dialog-barto .g-portrait{max-height:128px}
}
@media (prefers-reduced-motion:reduce){
  .g-dialog-layer.is-open .g-dialog,.g-dialog-layer.is-open .g-dialog-barto{animation:none!important;opacity:1;transform:none}
  .g-rail-shell,.g-rail-detail{transition:none!important}
  .g-dialog-backdrop{transition:none}
}

/* Botón Referencias (solo hub) */
.g-refs-btn{display:none}
.game-body.is-hub .g-refs-btn{
  display:inline-flex;
  position:fixed;
  left:.85rem;
  bottom:1.1rem;
  z-index:16;
  align-items:center;
  gap:.4rem;
  padding:.55rem .9rem;
  border:3px solid #7c4a12;
  border-radius:16px;
  background:linear-gradient(180deg,#f4d19a,#c9853a);
  color:#1c1917;
  font-family:inherit;
  font-weight:800;
  font-size:.85rem;
  box-shadow:0 5px 0 #7c4a12,0 10px 22px rgba(0,0,0,.28);
  cursor:pointer;
  transition:transform .16s,filter .16s;
}
.game-body.is-hub .g-refs-btn:hover,
.game-body.is-hub .g-refs-btn:focus-visible{
  transform:translateY(-3px) scale(1.04);
  filter:brightness(1.06);
  outline:none;
}
.g-refs-ico{font-size:1.15rem;line-height:1}
.g-refs-panel{width:min(720px,100%);max-height:min(82vh,820px);display:flex;flex-direction:column}
.g-refs-body{flex:1;min-height:0;overflow:auto;padding:.15rem .1rem .4rem}
.g-refs-html{color:#1c1917;font-size:.95rem;line-height:1.5}
.g-refs-html img{max-width:100%;height:auto;border-radius:12px;border:2px solid #7c4a12;margin:.4rem 0;display:block}
.g-refs-html p{margin:.35rem 0}
.g-refs-html a{color:#0f766e;font-weight:800}
.g-refs-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.55rem;margin-top:.65rem}
.g-refs-gallery figure{margin:0}
.g-refs-gallery img{width:100%;max-height:280px;object-fit:contain;background:#fff7ed;border-radius:12px;border:2px solid #7c4a12;display:block}
@media (max-width:720px){
  .game-body.is-hub .g-refs-btn{bottom:calc(42vh + 1.35rem);font-size:.78rem;padding:.48rem .75rem}
  .g-refs-btn span:not(.g-refs-ico){max-width:7.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
@media (prefers-reduced-motion:reduce){
  .game-body.is-hub .g-refs-btn{transition:none}
}
a.g-title{text-decoration:none;color:inherit;cursor:pointer}
a.g-title:hover{filter:brightness(1.08)}
a.g-title:focus-visible{outline:3px solid #facc15;outline-offset:4px;border-radius:12px}

.g-sheet .rank-list{margin:0;padding:0;list-style:none}
.g-sheet .rank-list li{
  display:grid;
  grid-template-columns:2rem 40px minmax(0,1fr) 7rem 5.75rem;
  align-items:center;
  column-gap:.7rem;
  padding:.55rem .65rem;
  border-bottom:1px solid rgba(124,74,18,.18);
}
.g-sheet .rank-list li.me{padding:.55rem .65rem}
.g-sheet .rank-list .pos{width:2rem;height:2rem;margin:0}
.g-sheet .rank-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;display:block}
.g-sheet .rank-who{min-width:0;display:flex;flex-direction:column;gap:.08rem;justify-content:center}
.g-sheet .rank-who strong{display:block;font-size:.95rem;line-height:1.2;color:#1c1917;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.g-sheet .rank-who small{display:block;font-size:.75rem;line-height:1.25;color:#57534e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.g-sheet .rank-list li em,.g-sheet .rank-list li b{margin-left:0;font-style:normal}
.g-sheet .rank-xp,.g-sheet .rank-pts{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;line-height:1.2}
.g-sheet .rank-xp{font-weight:800;color:#0f766e}
.g-sheet .rank-pts{font-weight:800;color:#7c2d12}
@media (max-width:640px){
  .g-sheet .rank-list li{grid-template-columns:2rem 36px minmax(0,1fr);row-gap:.2rem}
  .g-sheet .rank-xp{grid-column:3;text-align:left}
  .g-sheet .rank-pts{grid-column:3;text-align:left;padding-bottom:.15rem}
}

.g-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;margin:0 0 .75rem}
.g-sheet-head h1{margin:0;padding-right:2.4rem;flex:1;min-width:0}
.g-sheet-close{position:absolute;top:.7rem;right:.75rem;z-index:2;width:2.2rem;height:2.2rem;display:grid;place-items:center;border-radius:999px;background:#fff7ed;border:2px solid #7c4a12;color:#7c2d12;text-decoration:none;font-size:1.45rem;font-weight:800;line-height:1;box-shadow:0 3px 0 #7c4a12}
.g-sheet-close:hover,.g-sheet-close:focus-visible{background:#facc15;outline:none;transform:translateY(-1px)}
.g-sheet.profile{width:min(920px,calc(100% - 1.4rem));max-width:100%}
.profile-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.85fr);gap:.75rem;align-items:start;min-width:0}
.g-sheet .profile-form,.g-sheet .profile-side .card{min-width:0;overflow:hidden}
.g-sheet .profile-form h2,.g-sheet .profile-side h2{margin:0 0 .7rem;font-size:1.05rem}
.profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:.55rem .7rem}
.profile-fields .full{grid-column:1/-1}
.g-sheet .profile-form label{display:block;font-size:.82rem;font-weight:800;color:#7c2d12}
.g-sheet .profile-form input{width:100%;max-width:100%;margin-top:.22rem;box-sizing:border-box}
.g-sheet .profile-form .avatar-picker{margin:.85rem 0 .9rem}
.g-sheet .profile-form .avatar-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem}
.g-sheet .profile-form .avatar-opt{padding:.35rem .25rem .4rem;min-width:0}
.g-sheet .profile-form .avatar-opt img{width:100%;max-width:72px;height:72px}
.g-sheet .profile-form .form-actions{display:flex;justify-content:flex-end;margin-top:.2rem}
.profile-side{display:grid;gap:.75rem;min-width:0}
.profile-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}
.profile-stats article{background:#fffbeb;border:2px solid #d6b07c;border-radius:12px;padding:.45rem .4rem;text-align:center}
.profile-stats span{display:block;font-size:.68rem;font-weight:800;color:#7c2d12;text-transform:uppercase;letter-spacing:.04em}
.profile-stats strong{display:block;font-size:1.25rem;color:#0f766e;margin-top:.1rem}
.g-sheet .achievements{display:grid;gap:.35rem}
.g-sheet .achievements li{display:flex;gap:.5rem;align-items:flex-start;padding:.4rem;background:#fffbeb;border:1px solid #d6b07c;border-radius:10px}
.g-sheet .achievements li span{font-size:1.2rem;line-height:1}
.g-sheet .achievements small{display:block;color:#57534e;font-weight:600}
.profile-games{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.profile-games li{display:grid;gap:.05rem;padding:.45rem .5rem;background:#fffbeb;border:1px solid #d6b07c;border-radius:10px}
.profile-games strong{color:#7c2d12;font-size:.88rem}
.profile-games span{font-size:.82rem;font-weight:700;color:#0f766e}
.profile-games small{color:#57534e;font-size:.74rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:820px){
  .profile-layout{grid-template-columns:1fr}
  .profile-fields{grid-template-columns:1fr}
  .g-sheet .profile-form .avatar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:520px){
  .profile-stats{grid-template-columns:1fr}
  .g-sheet .profile-form .avatar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

.g-album-thumb{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;border-radius:10px;overflow:hidden}
.g-album-thumb img{width:100%;height:120px;object-fit:cover;display:block;background:#14532d;transition:transform .2s ease}
.g-album-thumb:hover img,.g-album-thumb:focus-visible img{transform:scale(1.05)}
.g-album-thumb:focus-visible{outline:3px solid #facc15;outline-offset:2px}
.g-photo-view{z-index:50;padding:.8rem}
.g-photo-view-backdrop{position:absolute;inset:0;border:0;padding:0;margin:0;background:rgba(4,12,10,.72);cursor:pointer}
.g-photo-view-card{position:relative;z-index:1;margin:0;width:min(920px,100%);max-height:min(88vh,920px);display:flex;flex-direction:column;background:linear-gradient(180deg,#f4d19a,#e8c07a);border:4px solid #7c4a12;border-radius:20px;padding:.85rem 1rem 1rem;color:#1c1917;box-shadow:0 24px 50px rgba(0,0,0,.45)}
.g-photo-view-card img{width:100%;max-height:min(72vh,740px);object-fit:contain;border-radius:12px;background:#0b1f1b;display:block}
.g-photo-view-card figcaption{margin-top:.55rem;padding-right:2.4rem}
.g-photo-view-card strong{display:block;font-size:1.05rem}
.g-photo-view-card small{display:block;margin-top:.15rem;color:#57534e;font-weight:700}
.g-photo-view-x{top:.55rem;right:.55rem}

.game-body .hotspot{
  background:#fff;
  border:3px solid #2563eb;
  box-shadow:0 0 0 6px rgba(37,99,235,.32),0 3px 8px rgba(0,0,0,.35);
}
.game-body .hotspot.done.is-ok{
  background:#fff;
  border-color:#16a34a;
  box-shadow:0 0 0 6px rgba(22,163,74,.32),0 3px 8px rgba(0,0,0,.25);
}
.game-body .hotspot.done.is-bad{
  background:#fff;
  border-color:#dc2626;
  box-shadow:0 0 0 6px rgba(220,38,38,.32),0 3px 8px rgba(0,0,0,.25);
}
@keyframes hotspot-pulse{
  0%,100%{transform:scale(1);box-shadow:0 0 0 6px rgba(37,99,235,.32),0 3px 8px rgba(0,0,0,.35)}
  50%{transform:scale(1.14);box-shadow:0 0 0 14px rgba(37,99,235,.14),0 3px 8px rgba(0,0,0,.35)}
}


