/* JSLALALAND shared chrome: one Back button, one site menu and one footer on every part of jslalaland.com.
   Loaded by the home page and by /seoul/ /banff/ /vegas/ /ktown/ /la-vegas-10/. Everything is prefixed jx- / jf- so it never touches a sub-site's own classes. */
.jx,.jx *,.jxs,.jxs *,.jsla-foot,.jsla-foot *{box-sizing:border-box}
html:not([data-jsla-lang="en"]) .je,html[data-jsla-lang="en"] .jz{display:none!important}
.jx{position:fixed;left:max(12px,env(safe-area-inset-left,0px));bottom:calc(var(--jx-b,14px) + env(safe-area-inset-bottom,0px));z-index:9990;display:flex;align-items:center;gap:8px;max-width:calc(100vw - 24px);pointer-events:none;transition:bottom .3s cubic-bezier(.2,.7,.2,1),opacity .3s}
.jx>*{pointer-events:auto}
.jx.jx-off{opacity:0}
.jx.jx-off>*{pointer-events:none}
.jx-b{display:flex;align-items:center;gap:9px;min-width:0;max-width:min(240px,calc(100vw - 92px));padding:6px 14px 6px 6px;border-radius:999px;border:1px solid rgba(36,28,22,.14);background:rgba(251,247,240,.93);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 12px 28px -14px rgba(36,28,22,.5);color:#241C16;font:500 13px/1.2 "Noto Sans TC",-apple-system,BlinkMacSystemFont,"PingFang TC","Helvetica Neue",Arial,sans-serif;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,opacity .25s;margin:0}
.jx-b:hover{transform:translateY(-2px)}
.jx-b:active{transform:scale(.97)}
.jx-b:focus-visible,.jx-m:focus-visible,.jxs a:focus-visible,.jxs button:focus-visible,.jsla-foot a:focus-visible{outline:2px solid #B07D3F;outline-offset:3px}
.jx-ic{flex:0 0 auto;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#241C16;color:#FBF7F0}
.jx-ic svg{width:17px;height:17px}
.jx-t{display:flex;flex-direction:column;min-width:0}
.jx-t b{font-weight:600;white-space:nowrap;letter-spacing:.02em}
.jx-t small{margin-top:2px;font:400 10.5px/1.25 "IBM Plex Mono",ui-monospace,Menlo,monospace;letter-spacing:.03em;color:#7A6A5A;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jx-b[aria-disabled="true"]{opacity:.6}
.jx-b[aria-disabled="true"] .jx-ic{background:#8B7B6B}
.jx-m{flex:0 0 auto;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(36,28,22,.14);background:#241C16;color:#FBF7F0;box-shadow:0 12px 28px -14px rgba(36,28,22,.55);cursor:pointer;padding:0;margin:0;-webkit-tap-highlight-color:transparent;transition:transform .25s cubic-bezier(.2,.7,.2,1)}
.jx-m:hover{transform:translateY(-2px)}
.jx-m svg{width:19px;height:19px}
.jx-m[aria-expanded="true"]{background:#B07D3F}
/* the home page keeps its own Back pill (.jb); the menu button sits beside it */
html[data-jsla-site="home"] .jx .jb{position:static;max-width:min(240px,calc(100vw - 92px))}
/* sub-sites' own one-step back buttons are replaced by the shared one */
html[data-jsla-site="banff"] #backBtn.backbtn,html[data-jsla-site="seoul"] #backBtn.backbtn{display:none!important}

/* ---------- the site menu ---------- */
.jxs{position:fixed;inset:0;z-index:9995;display:flex;align-items:flex-end;justify-content:flex-start;background:rgba(26,20,16,.42);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transition:opacity .25s;font:400 15px/1.5 "Noto Sans TC",-apple-system,BlinkMacSystemFont,"PingFang TC","Helvetica Neue",Arial,sans-serif;color:#241C16}
.jxs[hidden]{display:none}
.jxs.on{opacity:1}
.jxs-in{position:relative;width:min(420px,100%);max-height:min(86vh,760px);overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;margin:0 0 0 max(12px,env(safe-area-inset-left,0px));margin-bottom:calc(74px + env(safe-area-inset-bottom,0px));border-radius:22px;background:#FBF7F0;box-shadow:0 30px 60px -20px rgba(26,20,16,.55);padding:20px 18px 18px;transform:translateY(16px) scale(.98);transform-origin:bottom left;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.jxs.on .jxs-in{transform:none}
@media (max-width:560px){.jxs-in{width:auto;margin:0 10px calc(70px + env(safe-area-inset-bottom,0px));max-height:78vh}}
.jxs-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.jxs-mast{font:600 22px/1 Fraunces,Georgia,"Noto Serif TC",serif;letter-spacing:.06em;color:#241C16;text-decoration:none}
.jxs-tag{margin:6px 0 0;font:400 11px/1.3 "IBM Plex Mono",ui-monospace,Menlo,monospace;letter-spacing:.06em;color:#7A6A5A;text-transform:uppercase}
.jxs-x{flex:0 0 auto;width:36px;height:36px;border-radius:50%;border:1px solid #E3D6C3;background:#fff;color:#241C16;font-size:18px;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0}
.jxs h6{margin:16px 0 6px;font:500 11px/1.2 "IBM Plex Mono",ui-monospace,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase;color:#9A7A55}
.jxs-l{display:grid;gap:6px}
.jxs-a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;border:1px solid #EADFCF;background:#fff;color:#241C16;text-decoration:none;transition:border-color .2s,transform .2s}
.jxs-a:hover{border-color:#B07D3F;transform:translateX(2px)}
.jxs-a .k{flex:0 0 auto;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font:600 11px/1 "IBM Plex Mono",ui-monospace,Menlo,monospace;letter-spacing:.04em;color:#FBF7F0;background:var(--jc,#241C16)}
.jxs-a .tx{display:flex;flex-direction:column;min-width:0;flex:1}
.jxs-a b{font-weight:600;font-size:14.5px;line-height:1.3}
.jxs-a small{font-size:12px;color:#7A6A5A;line-height:1.35}
.jxs-a .ar{color:#B07D3F;flex:0 0 auto}
.jxs-a[aria-current="page"]{border-color:#241C16;background:#F3ECE0}
.jxs-a[aria-current="page"] .ar{display:none}
.jxs-a[aria-current="page"]::after{content:attr(data-here);font:500 10px/1 "IBM Plex Mono",ui-monospace,Menlo,monospace;letter-spacing:.08em;color:#7A6A5A;flex:0 0 auto}
.jxs-rel .jxs-a{background:#F7F0E4;border-style:dashed}
.jxs-ft{margin:16px 2px 0;font-size:12.5px;color:#7A6A5A}
.jxs-ft a{color:#241C16}

/* ---------- the shared footer, appended to the end of every sub-site ---------- */
.jsla-foot{position:relative;z-index:1;clear:both;display:block;background:#241C16;color:#F3ECE0;padding:56px 22px calc(110px + env(safe-area-inset-bottom,0px));font:400 14.5px/1.6 "Noto Sans TC",-apple-system,BlinkMacSystemFont,"PingFang TC","Helvetica Neue",Arial,sans-serif;text-align:left}
.jsla-foot .jf-in{max-width:1080px;margin:0 auto}
.jsla-foot a{color:#F3ECE0;text-decoration:none}
.jsla-foot a:hover{color:#E8C48F}
.jsla-foot .jf-mast{display:inline-block;font:600 clamp(30px,7vw,64px)/1 Fraunces,Georgia,"Noto Serif TC",serif;letter-spacing:.08em;color:#F3ECE0}
.jsla-foot .jf-tag{margin:10px 0 0;font:400 11.5px/1.4 "IBM Plex Mono",ui-monospace,Menlo,monospace;letter-spacing:.1em;text-transform:uppercase;color:#BFAE94}
.jsla-foot .jf-rel{margin:30px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.jsla-foot .jf-rel h5{grid-column:1/-1}
.jsla-foot .jf-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:14px;border:1px solid rgba(243,236,224,.18);background:rgba(243,236,224,.05);transition:border-color .2s,background .2s}
.jsla-foot .jf-card:hover{border-color:#E8C48F;background:rgba(243,236,224,.09)}
.jsla-foot .jf-card small{display:block;font:400 11px/1.3 "IBM Plex Mono",ui-monospace,Menlo,monospace;letter-spacing:.06em;color:#BFAE94;text-transform:uppercase}
.jsla-foot .jf-card b{display:block;font-weight:600;font-size:15px;line-height:1.35}
.jsla-foot .jf-card .ar{color:#E8C48F}
.jsla-foot .jf-cols{margin:34px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:22px 28px;padding-top:26px;border-top:1px solid rgba(243,236,224,.14)}
.jsla-foot h5{margin:0 0 8px;font:500 11px/1.2 "IBM Plex Mono",ui-monospace,Menlo,monospace;letter-spacing:.14em;text-transform:uppercase;color:#BFAE94}
.jsla-foot .jf-cols a{display:block;padding:4px 0;font-size:14.5px}
.jsla-foot .jf-cols a[aria-current="page"]{color:#E8C48F}
.jsla-foot .jf-cols a[aria-current="page"]::before{content:"● ";font-size:9px;vertical-align:2px}
.jsla-foot .jf-bot{margin:30px 0 0;padding-top:18px;border-top:1px solid rgba(243,236,224,.14);font:400 11.5px/1.5 "IBM Plex Mono",ui-monospace,Menlo,monospace;letter-spacing:.06em;color:#BFAE94;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}
@media (prefers-reduced-motion:reduce){.jx,.jx-b,.jx-m,.jxs,.jxs-in{transition:none}}
