/* Full-width portal navigation, inspired by multi-column game-site menus. */
body{overflow-x:clip}
.portal-header{position:relative;z-index:30;isolation:isolate;--brand-slot:180px}
.portal-utility{height:48px;position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#283543;background:white}
.portal-utility:before{content:"";position:absolute;inset:0 calc((100% - 100vw)/2);background:#fff;z-index:-1}
.mega-toggle{display:flex;align-items:center;gap:8px;background:none;color:#333e46;font-size:12px;padding:8px 0;min-width:90px;text-align:left}.mega-toggle>span{font-size:22px;line-height:1}
.portal-network{position:absolute;left:50%;transform:translateX(-50%);font-weight:850;font-size:17px;letter-spacing:1px;color:#182c3e;white-space:nowrap}.portal-network small{font-size:8px;font-weight:600;letter-spacing:2px;display:block;text-align:center;color:#7e8991;line-height:1.1}
.portal-utility-right{margin-left:auto;display:flex;align-items:center;gap:22px}.portal-utility .nav-search{margin:0;width:140px}.portal-utility .nav-search input{background:#f1f4f6;color:#374859;font-size:11px;padding:6px 28px 6px 12px}.portal-utility .nav-search button{color:#405365}.portal-utility .nav-search input::placeholder{color:#89959f}
.portal-utility .account-nav{gap:16px;white-space:nowrap}.portal-utility .nav-login,.portal-utility .account-name{background:none;color:#374959;font-size:11px;padding:4px 0;line-height:1.2}.portal-register{font-size:11px;font-weight:700;color:#96703b;border-bottom:1px solid #c8aa72;padding:3px 0}
.portal-nav-main{position:relative;height:84px;display:flex;align-items:center;color:#fff;gap:0;background:#103c35e8}.portal-nav-main:before{content:"";position:absolute;inset:0 calc((100% - 100vw)/2);background:#103c35e8;backdrop-filter:blur(12px);z-index:-1;border-bottom:1px solid #d8c18b35}
.portal-header .brand{width:var(--brand-slot);flex-shrink:0;padding-left:4px;align-items:flex-start;filter:drop-shadow(0 2px 2px #041f1b)}.portal-header .brand>span{font-size:32px}.portal-header .brand:after{width:138px}
.portal-main-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));width:100%;align-self:stretch;align-items:stretch;gap:0}
.portal-top-link{display:flex;align-items:center;justify-content:center;text-align:center;position:relative;font-size:15px;font-weight:700;color:#e6ece6;line-height:1.2;padding:0 10px}.portal-top-link:after{content:"";height:1px;position:absolute;bottom:18px;left:30%;right:30%;background:#ecd49b;transform:scaleX(0);transition:transform .2s}.portal-top-link:hover,.portal-top-link:focus-visible,.portal-top-link.active,.portal-top-link.is-highlighted{color:#fff1c8}.portal-top-link.active:after,.portal-top-link:hover:after,.portal-top-link.is-highlighted:after{transform:scaleX(1)}
.portal-drop{position:absolute;top:100%;left:0;right:0;isolation:isolate;padding:0 0 18px;color:#c2cec4;box-shadow:0 20px 30px #051c2033}.portal-drop[hidden]{display:none}.portal-drop:before{content:"";position:absolute;inset:0 calc((100% - 100vw)/2);background:linear-gradient(115deg,#0c302aef,#143d2de8 60%,#284536e8);backdrop-filter:blur(20px);z-index:-1;border-bottom:1px solid #e4c98a45}
.portal-drop-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:3px 0 28px var(--brand-slot);gap:0;min-height:245px}
.portal-drop-column{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:12px 9px;transition:background .2s}.portal-drop-column h2{display:none}.portal-drop-column a{font-size:12px;font-weight:400;line-height:1.5;color:#bdc9bd;max-width:100%}.portal-drop-column a:hover,.portal-drop-column a:focus-visible{color:#fff0be;text-decoration:underline;text-underline-offset:5px}.portal-drop-column.is-highlighted{background:#e9d39e08}
.portal-drop-footer{display:flex;align-items:center;justify-content:flex-end;gap:25px;border-top:1px solid #d6dcc31a;padding:17px 16px 0;color:#a6b9a9;font-size:10px}.portal-drop-footer>span{margin-right:auto;font-size:8px;letter-spacing:1.5px;color:#9eb29c}.portal-drop-footer a{color:#ebd9ae;font-size:11px}.portal-drop-footer button{background:none;font-size:11px;color:#c4d1c0}
.world{top:132px}
/* User-selected character direction: no lower fade, both right-side sprites mirrored. */
.adventure-hero .cast-layer img{-webkit-mask-image:none;mask-image:none}
.adventure-hero .cast-aisha img,.adventure-hero .cast-rena img{transform:scaleX(-1)}
@media(max-width:1200px){.portal-header{--brand-slot:158px}.portal-top-link{font-size:13px}.portal-header .brand>span{font-size:29px}.portal-drop-column a{font-size:11px}.portal-utility-right{gap:14px}}
@media(max-width:1000px){.portal-utility{height:48px}.portal-utility .nav-search{display:none}.portal-network{font-size:14px}.portal-network small{font-size:7px}.portal-nav-main{height:64px;justify-content:space-between}.portal-header .brand{width:170px;padding-left:4px}.portal-main-nav{display:none}.portal-nav-main:after{content:"EXPLORE ELRIOS";font-size:9px;letter-spacing:2px;color:#c5cebc;padding-right:8px}.portal-drop{max-height:calc(100dvh - 112px);overflow-y:auto;padding:16px 14px 18px;background:#123c32f5}.portal-drop:before{position:fixed;inset:112px 0 0;display:none}.portal-drop-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:0;gap:16px 14px}.portal-drop-column{align-items:flex-start;text-align:left;padding:9px 3px;gap:10px}.portal-drop-column h2{display:block;color:#fff0cd;font-size:14px;line-height:1.3;padding-bottom:5px;border-bottom:1px solid #b6c3a23b;width:100%}.portal-drop-column a{font-size:12px}.portal-drop-footer{padding:15px 0 0;gap:16px}.portal-drop-footer>span{display:none}.portal-drop-footer>a{margin-right:auto}.world{top:112px}}
@media(max-width:640px){.portal-utility{gap:10px}.mega-toggle{min-width:60px;font-size:10px;gap:6px}.mega-toggle>span{font-size:19px}.portal-network{font-size:12px;letter-spacing:.5px}.portal-network small{font-size:6px;letter-spacing:1px}.portal-utility .account-nav{gap:9px}.portal-utility .nav-login,.portal-register,.portal-utility .account-name{font-size:10px}.portal-drop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}.portal-drop-column h2{font-size:14px}.portal-drop-column a{font-size:12px}.portal-header .brand>span{font-size:30px}.portal-header .brand:after{width:130px}.portal-header .brand{width:160px}.portal-utility .account-name{max-width:76px;overflow:hidden;text-overflow:ellipsis}}
@media(prefers-reduced-motion:reduce){.portal-top-link:after,.portal-drop-column{transition:none}}
/* Floating game buttons: scenery remains visible on both sides of the menu. */
.portal-utility,.portal-nav-main{background:transparent}
.portal-utility:before,.portal-nav-main:before{display:none}
.portal-network{display:none}
.portal-utility{color:#20394c}
.portal-nav-main{height:100px;gap:24px}
.portal-main-nav{align-self:center;gap:14px;height:60px}
.portal-top-link{background:#191c26;color:#f6f0df;clip-path:polygon(8% 0,100% 0,92% 100%,0 100%);border-bottom:4px solid #080d15;transition:background .2s,transform .2s}
.portal-top-link:hover,.portal-top-link:focus-visible,.portal-top-link.active{background:#304654;color:#ffe0a0}
.portal-top-link:after{display:none}
.portal-header .brand{filter:drop-shadow(0 2px 3px #fff8)}
.world{top:0}
.adventure-hero .cast-rena img{transform:none}
@media(max-width:1000px){.portal-nav-main{height:64px}.portal-nav-main:after{color:#294252}.world{top:0}}

/* Hide the upper navigation at the user's request. */
.portal-header{display:none}

/* Minimal upper header: brand and account actions only. */
.portal-header{display:flex;align-items:center;justify-content:space-between;height:86px}
.portal-utility{order:2;height:auto;margin-left:auto}
.portal-utility .mega-toggle,.portal-utility .portal-network,.portal-utility .nav-search,.portal-main-nav,.portal-drop,.portal-nav-main:after{display:none!important}
.portal-nav-main{order:1;height:auto;gap:0}
.portal-utility-right{gap:0}
.portal-header .brand{width:auto;padding:0}
.portal-utility .nav-login,.portal-register,.portal-utility .account-name{color:#18374b;font-weight:700;text-shadow:0 1px 2px #fff9}
@media(max-width:640px){.portal-header{height:72px}.portal-header .brand{width:auto}.portal-header .brand>span{font-size:28px}.portal-utility .account-nav{gap:14px}}

/* Separate Rena from Aisha while keeping existing mouse parallax. */
.adventure-hero .cast-rena{right:calc(50% - 685px)}
@media(max-width:1100px) and (min-width:641px){.adventure-hero .cast-rena{right:calc(50% - 545px)}}
@media(max-width:640px){.adventure-hero .cast-rena{right:calc(50% - 325px)}}

.sidebar-nav a>span{font-size:0!important;display:inline-block;width:20px;height:20px;background:center/contain no-repeat url('/assets/game-nav-board.png')}.sidebar-nav a:nth-child(2)>span{background-image:url('/assets/game-nav-quests.png')}.sidebar-nav a:nth-child(3)>span{background-image:url('/assets/game-nav-bank.png')}.sidebar-nav a:nth-child(4)>span{background-image:url('/assets/game-nav-char_my.png')}
